getElementsByTagName('div')返回双重出现次数

时间:2010-11-11 13:15:22

标签: javascript getelementsbytagname

编辑:对不起,这是我的坏事。我甚至不想提起原因! 无论如何,谢谢你,下次我会更加小心。

我身体里有两(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 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:1)

禁用firebug并重试;)

Firebug和其他一些附加组件操纵html代码。我尝试了你的样本并获得了3个警告,这使得完美感觉:

> document.getElementsByTagName('div')
[div, div, div#_firebugConsole]

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

可能你缺少密切标签。

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

应该是

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

欢呼声