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

JavaScript element traversal returning more than expected

本文关键字:元素 遍历 返回 JavaScript      更新时间:2023-09-26

我有一个简单的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