JavaScript 元素遍历返回多于预期
JavaScript element traversal returning more than expected
我有一个简单的 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
.
我有一个简单的 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
.