2015-01-15 2 views
0

у меня есть это в моем 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

попробовать с одним '\'. – Mritunjay

+1

Попробуйте document 'document.getElementsByTagName (" meta ") [1] ['article: published_time']' –

ответ

2

document.getElementsByTagName возвращает HTMLCollection. Элементы коллекции можно получить с помощью обозначения ['xyz'], но это будет искать элемент с идентификатором «xyz» или, если это не так, с именем «xyz». Элементы коллекции также могут быть доступны целыми индексами, как я покажу ниже.

Ваш первый пример работает, потому что у вас есть элемент meta, чье имя «title». Но ваш второй пример не имеет имени или идентификатора. Таким образом, вы будете иметь цикл по коллекции:

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

Смежные вопросы