0

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

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

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

4

2 回答 2

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]
于 2012-06-23T06:46:46.753 回答
0

看起来将其设置为 DOMContentLoaded 事件解决了这个问题。

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

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

于 2012-08-27T19:37:47.520 回答