题
是否可以使用jQuery来读取元标记。如果是这样,您知道代码的基本结构是什么,或者链接到任何教程。
解决方案
只需使用:
var author = $('meta[name=author]').attr("content");
其他提示
这个解析器会帮助你吗?
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中的解析错误。
这与我在此处给出的答案相同: https://stackoverflow.com/questions/4059207
我刚试过这个,这可能是一个特定于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!'
$("meta")
应该返回一个标签名称为META的元素数组,然后您可以迭代该集合以选择您感兴趣的元素的任何属性。
对于选择的Twitter元名,您可以添加数据属性。
示例:
meta name="twitter:card" data-twitterCard="" content=""
$('[data-twitterCard]').attr('content');
var author = $('meta[name=author]').attr("content");
解决我的问题,例如:
<meta name="author" content="a314r">
不隶属于 StackOverflow