getElementsByTagName ("div"). длина возвращает ноль для любой веб-страницы - PullRequest
3 голосов
/ 14 ноября 2010

Я пытаюсь разработать расширение для Firefox.Следующий код:

var divList = document.getElementsByTagName("div") ;
Components.utils.reportError("num of divs = " + divList.length) ;

Всегда говорит: - num of divs = 0.

Я не понимаю, какую ошибку я совершаю в этом простом куске кода.Когда я заменяю "div" на "*", я всегда получаю значение около 1100 на любой веб-странице.

Ответы [ 2 ]

4 голосов
/ 14 ноября 2010

Может быть, код запускается, когда DOM не готов.

Попробуйте поместить код JS в тег script в самом конце тега body.
Я не уверен, почему * получает столько элементов.

0 голосов
/ 14 ноября 2010

Не уверен, в чем разница в контексте расширения, но это может быть связано с пространствами имен - https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByTagName. Каков тег первого из 1100 элементов, которые вы получаете при использовании "*"?

...