JavaScript元素遍历返回的值超出预期



我有一个简单的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输出两次?

因为div是嵌套的,所以会得到两次。它读取元素及其同级元素的所有文本。

  • 第一个文本是outer inner
  • 第二个文本就是innner

最新更新