在 jQuery 中你可以这样做:
$("meta[property='fb:app_id']").attr("content");
这将为您提供带有
content
属性“fb:app_id”的 meta
标签中的 property
属性值。
我怎样才能用简单的Javascript做到这一点?
提前谢谢您。 :-)
肯尼思
document.querySelector('meta[property~="fb:app_id"][content]').content
恐怕不如 JQuery 优雅......
var metaTags=document.getElementsByTagName("meta");
var fbAppIdContent = "";
for (var i = 0; i < metaTags.length; i++) {
if (metaTags[i].getAttribute("property") == "fb:app_id") {
fbAppIdContent = metaTags[i].getAttribute("content");
break;
}
}
console.log(fbAppIdContent);
注意:有些使用
property
属性:
<meta property="fb:app_id" content="13181996">
而其他人则使用
name
属性:
<meta name="fb:app_id" content="1234567890">
我使用以下方法从两个变体中获取值:
var appId = (function(c) { for (var a = document.getElementsByTagName("meta"), b = 0;b < a.length;b++) {
if (c == a[b].name || c == a[b].getAttribute("property")) { return a[b].content; } } return false;
})("fb:app_id");
console.log(appId); //(bool)false if meta tag "fb:app_id" not exists.
function getContentByMetaTagName(c) {
for (var b = document.getElementsByTagName("meta"), a = 0; a < b.length; a++) {
if (c == b[a].name || c == b[a].getAttribute("property")) { return b[a].content; }
} return false;
}
console.log(getContentByMetaTagName("og:title"));