为Javascript节点列表返回的长度无效

时间:2012-06-23 05:40:06

标签: javascript webkit

我已经找到了我一直遇到的Javascript问题,这个问题可以在这段代码中看到,在页面加载后运行:

var btns = document.getElementsByTagName('button');
console.log(btns);
divs = document.getElementsByTagName("div");
console.log(btns.length);
console.log(btns);

此代码有效时(并且不显示空白数组[]),它会在控制台中显示按钮数组,然后是0,然后是按钮数组。怎么能为长度返回错误的值?

2 个答案:

答案 0 :(得分:0)

我测试了这段代码:

<button>bt1</button><div>www</div>
<button>bt_2</button>
<script type="text/javascript">
var btns = document.getElementsByTagName('button');
console.log(btns);
divs = document.getElementsByTagName("div");
console.log(btns.length);
console.log(btns)
</script>

它显示正确:

[button, button]
2
[button, button]

答案 1 :(得分:0)

看起来像将它设置为DOMContentLoaded事件一样。

document.addEventListener("DOMContentLoaded", function () {...}, false)

似乎是设置onload代码的正确事件。