0

我在正文中有两 (2) 个 div 元素。

<body><div></div><div></div></body>


var haha = document.getElementsByTagName('div');
for (var k=0; k<haha.length; k++) alert(haha[k].tagName);

这会返回 4 次,我猜是关闭标签,我该如何省略它们?

4

4 回答 4

2

我遇到了这个问题,因为使用了

var elements = document.getElementsByTagName('div')
for(var i in elements) {
    console.log(i) //This will print 2 x number of elements
}

而不是使用

var elements = document.getElementsByTagName('div'); 
for(var i = 0; i < elements.length; i++) {
     //Only once
}
于 2015-06-23T14:27:30.310 回答
1

禁用萤火虫并重试;)

Firebug 和其他一些附加组件操纵 html 代码。我尝试了您的示例并收到了 3 个非常有意义的警报:

> document.getElementsByTagName('div')
[div, div, div#_firebugConsole]
于 2010-11-11T13:39:40.060 回答
0

我想你没有正确关闭你的 div。也许你错过了</div>正斜杠

或者也许你正在执行两次你的 javascript

于 2010-11-11T13:29:11.577 回答
0

可能您缺少关闭标签。

<div><div> <div><div>

应该

<div></div> <div></div>

干杯

于 2010-11-11T13:32:13.200 回答