создать массив <li>с в конкретном div, используя JavaScript - PullRequest
2 голосов
/ 09 февраля 2010

Я пытаюсь создать массив <li>, который находится в div. Итак, у меня есть

var arr = document.getElementById('mainNav').getElementsByTagName('li');

Для целей тестирования я поставил alert("test"); alert(arr.length);, чтобы увидеть, появится ли предупреждение и каков размер массива. Ни одно из предупреждений не появилось, но если я помещу предупреждение перед объявлением переменной, оно работает нормально. Что может быть не так?

Ответы [ 2 ]

2 голосов
/ 09 февраля 2010

Возможно, ваши оповещения не отображаются, потому что document.getElementById('mainNav') возвращает null. Проверьте, если вы получаете ошибку Javascript. Или разбейте код на несколько строк, чтобы было легче увидеть, где происходит ошибка:

var mainNav = document.getElementById('mainNav');
alert(mainNav);
var arr = mainNav.getElementsByTagName('li');
0 голосов
/ 09 февраля 2010

Если вы уверены, что у вас есть элементы LI внутри "mainNav". Попробуйте вставить свой код в функцию onLoad:

window.onload = function(){
var arr = document.getElementById('mainNav').getElementsByTagName('li');

}

Ваш код может выполняться перед созданием элемента.

...