167

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

4

6 回答 6

329

只需使用类似的东西:

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

或者这个

var author = $('meta[name=author]').prop('content');
于 2009-06-24T04:15:24.697 回答
22

这个解析器会帮助你吗?

https://github.com/fianni/jquery.ogp

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

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

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

于 2010-11-09T19:26:08.857 回答
9

我刚试过这个,这可能是一个特定于 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 上发表评论,但它不会让我发表评论)

于 2013-04-01T03:31:55.507 回答
5

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

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

采用

var author = $('#author').data("content"); // author = 'stuff!'
于 2014-07-04T14:10:48.093 回答
4
$("meta")

应该给你一个标签名称为 META 的元素数组,然后你可以遍历集合以挑选出你感兴趣的元素的任何属性。

于 2009-06-24T04:17:54.493 回答
1

对于选择 twitter 元名称,您可以添加数据属性。

例子 :

meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
于 2015-04-01T09:20:25.847 回答