javascript – getElementsByTagName().length返回零

前端之家收集整理的这篇文章主要介绍了javascript – getElementsByTagName().length返回零前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想做一个简单的事情,如:
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>

猜你在找的JavaScript相关文章