JavaScript元素遍历返回超过预期

时间:2015-03-24 22:45:13

标签: javascript dom

我有一个简单的HTML设置如下:

<div>
outer
    <div>Inner</div>
</div>

我正如下所示:

"use strict";

var divs = document.getElementsByTagName( "div" );

for( var i = 0, div; div = divs[i]; i++ ) {
    console.log( div.innerText );
}

输出:

outer
Inner
Inner

为什么Inner输出两次?

1 个答案:

答案 0 :(得分:2)

你得到它两次因为div是嵌套的。它读取元素及其兄弟元素的所有文本。

  • 第一个文字是outer inner
  • 第二个文字只是innner