如何在JavaScript中检索meta属性og的内容?

3
我有以下的HTML代码:
<meta name="citation_journal_title" content="Psychological Bulletin" />

使用以下代码可以很容易地获取内容:

document.getElementsByName("citation_journal_title")[0].getAttribute("content")

然而,我无法处理这个:
<meta property="og:site_name" content="APA PsycNET" />

如何获取og:site_name的内容? 我知道这个问题: 如何使用JavaScript从meta标签中获取信息? 但我正在寻找像这样简单的东西

document.getElementsByName("citation_journal_title")[0].getAttribute("content")

可能是根据属性值在DOM中查找元素的重复问题。 - chiliNUT
2个回答

10

您需要使用属性选择器[attr=value]来完成此工作。在querySelector()中像这样使用它

var attr = document.querySelector("meta[property='og:site_name']").getAttribute("content");
console.log(attr);
<meta property="og:site_name" content="APA PsycNET" />


就是这样!谢谢。 - menteith

-1
Jquery 中,你可以使用 attr()
$('meta[property="og:site_name"]').attr('content')

在 JavaScript 中,你可以使用 querySelector。
querySelector 被所有现代浏览器支持,也包括 IE8。
var element = document.querySelector('meta[property="og:site_name"]');
var content = element && element.getAttribute("content");
console.log(content);

参考资料

console.log($('meta[property="og:site_name"]').attr('content'));

var element = document.querySelector('meta[property="og:site_name"]');
var content = element && element.getAttribute("content");
console.log(content);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<meta property="og:site_name" content="APA PsycNET" />


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接