我试图做一个简单的事情,例如:的getElementsByTagName()长度返回零
var elements = document.getElementsByTagName("input");
console.log(elements);
console.log(elements.length);
的的console.log(要素)显示了含有28种输入元素节点列表,但elements.length总是0.
我也看到了这个getElementsByTagName("div").length returns zero for any webpage但是我不明白究竟是什么原因发生以及如何解决它。我也注意到这发生在Firefox,IE,Chrome上。
任何人都可以帮助我吗?
不太记得了肯定,但尝试做elements.length() - 长度可能是一个功能,不能remembe。 r – 2011-04-30 21:41:21
您确定在文档/ DOM加载时您正在调用您的代码吗?可能是,在调用getElementsByTagName时,不存在输入元素,但由于NodeLists是动态的,因此当文档加载时,元素将包含全部28个输入。 – Rafael 2011-04-30 21:44:05
似乎没有加载DOM。将其复制并粘贴到页面的URL中,以查看DOM加载后的内容。 javascript:var elements = document.getElementsByTagName(“input”); alert(“elements has”+ elements.length +“children”); – adorablepuppy 2011-04-30 21:48:59