【问题标题】:How to extract html <p> content in a html attributes?如何在 html 属性中提取 html <p> 内容?
【发布时间】:2017-09-19 20:53:19
【问题描述】:

我想在 html 属性 &lt;meta content='**I want to extract here**' name='description'/&gt; 中提取 &lt;p&gt; 内容。怎么可能完成这项工作。 我正在使用 blogger.com,所以在 blogger.com 中我想提取元标记中的 &lt;p&gt; 内容。请帮我。我尝试了很多,但都失败了。

【问题讨论】:

  • 你的意思是要从&lt;meta&gt;标签中提取内容,放到&lt;p&gt;标签中?
  • var html = ''; $("head meta").each(function () { html += $(this).clone().wrap('
    ').parent().html(); });警报(html);
  • 不!我想从&lt;p&gt; 标记中提取内容并将其放入&lt;meta&gt; 标记中。
  • 你想什么时候做?在页面加载期间?

标签: javascript jquery html extract blogger


【解决方案1】:

试试这个:

将 ID metaTag 添加到标记元

var metaTag = document.getElementById("metaTag").content;

document.write(metaTag);

【讨论】:

  • 我将在哪里添加它?在 head 部分,带有&lt;script&gt; 标签?
【解决方案2】:

在文档加载时运行此 JavaScript。

// JavaScript
var p = document.getElementsByTagName("p")[0];
console.log(p.textContent);
var metaTag = document.querySelector('meta[name="description"]');
console.log(metaTag);
metaTag.setAttribute("content",p.textContent);
console.log(metaTag);
<!-- Sample HTML -->
<meta content='**I want to extract here**' name='description'/>
<p>some text</p>

【讨论】:

  • 它不起作用。无法从内容属性中的&lt;p&gt; 标记检索数据。
  • JavaScript 应该在文档加载时运行。在 &lt;script&gt; 标记内添加 JavaScript 代码或在 HTML 文件末尾添加单独的文件。运行我的代码,它正在工作。
  • 是的,在这里工作。但是当我将它放入 blogger.com 的头部或身体标签时,它看起来像这样,&lt;script type='text/javascript'&gt; var p = document.getElementsByTagName(&amp;quot;p&amp;quot;)[0]; console.log(p.textContent); var metaTag = document.querySelector("meta[name=&amp;quot;description&amp;quot;]"); console.log(metaTag); metaTag.setAttribute(&amp;quot;content&amp;quot;,p.textContent); console.log(metaTag); &lt;/script&gt; 我的意思是," 转换为 &amp;quot;。如果我写了一篇文章并将一些文本放入&lt;p&gt;,它不会提取到元内容属性中。正是我想要的。
  • 可能是由于XSS attack,网站不允许在其内容中包含scripts
  • 另外我不明白在文档加载时修改元标记有什么用。元标签被网络爬虫、搜索引擎使用。所以在文件加载时改变它真的没有用。
猜你喜欢
相关资源
最近更新 更多
热门标签