是否可以使用 jQuery 读取元标记

是否可以使用 jQuery 读取元标记。如果是这样,您知道代码的基本结构,或者有任何教程的链接。

134802 次浏览

就用这样的词:

var author = $('meta[name=author]').attr('content');

还有这个

var author = $('meta[name=author]').prop('content');
$("meta")

应该返回一个标记名为 META 的元素数组,然后可以对集合进行迭代,以选择您感兴趣的元素的任何属性。

这个解析器对您有帮助吗?

Https://github.com/fiann/jquery.ogp

它将元 OG 数据解析为 JSON,因此您可以直接使用这些数据。如果您愿意,当然可以直接使用 JQuery 读/写它们。例如:

$("meta[property='og:title']").attr("content", document.title);
$("meta[property='og:url']").attr("content", location.toString());

注意属性值周围的单引号; 这可以防止 jQuery 中的解析错误。

我刚刚尝试了这个,这可能是一个 jQuery 版本特定的错误,但是

$("meta[property=twitter:image]").attr("content");

导致我出现了以下语法错误:

Error: Syntax error, unrecognized expression: meta[property=twitter:image]

显然它不喜欢冒号,我可以通过使用双引号和单引号来修正它,比如:

$("meta[property='twitter:image']").attr("content");

(jQuery 版本1.8.3——抱歉,我应该把这个注释发给@Danilo,但是它不让我注释)

JQuery 现在支持 .data();,所以如果你有

<div id='author' data-content='stuff!'>

使用

var author = $('#author').data("content"); // author = 'stuff!'

对于 select twitter meta name,可以添加 data 属性。

例如:

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');