0

body に 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を無効にして、再試行してください;)

Firebugと他のいくつかのアドオンがhtmlコードを操作します。私はあなたのサンプルを試しましたが、知事に意味のある3つのアラートを受け取りました:

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

divを適切に閉じていないと思います。多分あなたは</div>スラッシュを逃します

または多分あなたはあなたのjavascriptを2回実行しています

于 2010-11-11T13:29:11.577 に答える
0

おそらく、閉じるタグがありません。

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

する必要があります

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

乾杯

于 2010-11-11T13:32:13.200 に答える