我想做一个简单的事情,如:
var elements = document.getElementsByTagName("input"); console.log(elements); console.log(elements.length);
console.log(elements)显示包含28个输入元素的NodeList,但elements.length始终为0.
我也看过这个getElementsByTagName(“div”).length returns zero for any webpage然而我不明白究竟发生了什么,以及如何解决它.我也注意到这种情况发生在Firefox,IE,Chrome上.
有人可以帮帮我吗?
解决方法
NodeList是一个实时集合,非延迟脚本立即执行(参见脚本延迟).
试试这个,你就会知道会发生什么:
<html> <head> <title></title> <style></style> <script type="text/javascript"> var elements = document.getElementsByTagName("div"); alert(elements.length); </script> </head> <body> <div>1</div> <script type="text/javascript"> //var elements = document.getElementsByTagName("div"); alert(elements.length); </script> </body> </html>