我在HTML中有这个
<meta name="title" content="Hello World"/>
<meta property="article:published_time" content="2014-11-20T11:00:01+00:00"/>
我想访问文章:published_time内容数据。
在控制台中,这有效:
document.getElementsByTagName("meta")['title']
但我不能得到“文章:发表”
document.getElementsByTagName("meta")['article:published_time']
显示为未定义。我尝试用“\\”
逃避答案 0 :(得分:2)
document.getElementsByTagName会返回HTMLCollection。可以使用[&#39; xyz&#39;]表示法访问集合的元素,但这将查找id为&#39; xyz&#39;的元素,或者,如果没有,则使用姓名&#39; xyz&#39;。集合的元素也可以通过整数索引访问,如下所示。
您的第一个示例有效,因为您有一个名为&#39; title的元素。&#39;但是你的第二个例子没有名字或id。因此,您必须遍历该集合:
var pub_time, collection = document.getElementsByTagName("meta");
for(var i = 0;i < collection.length;i++) {
if(collection[i].getAttribute("property") === "article:published_time") {
pub_time = collection[i].getAttribute("content");
}
有关HTMLCollection
的更多信息,请参阅此处:https://developer.mozilla.org/en-US/docs/Web/API/HTMLCollection
答案 1 :(得分:0)
您正在寻找此http://jsfiddle.net/g1ckxrgj/
$('meta[property="article:published_time"]').attr('content')