2

我正在尝试<li>在 div 中创建一个数组。所以我有

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

出于测试目的,我放了一个alert("test"); alert(arr.length);以查看是否会弹出警报以及数组的大小。两个警报都没有出现,但是如果我在该变量声明之前放置一个警报,它就可以正常工作。可能出了什么问题?

4

2 回答 2

2

也许您的警报没有显示,因为document.getElementById('mainNav')正在返回null。检查您是否收到 Javascript 错误。或者将您的代码分成多行,以便更轻松地查看错误发生的位置:

var mainNav = document.getElementById('mainNav');
alert(mainNav);
var arr = mainNav.getElementsByTagName('li');
于 2010-02-08T23:25:28.303 回答
0

如果您确定“mainNav”中有 LI 元素。尝试将您的代码放在 onLoad 函数中:

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

}

您的代码可能在创建元素之前执行。

于 2010-02-08T23:33:00.783 回答