我无法理解这个for-in循环如何在JavaScript中显示未定义的值,但是在循环中,first的长度是3.所以,为什么这么多未定义的值。
<div class="tab-menu">
<ul>
<li id="first">first item</li>
<li id="second">second item</li>
<li id="third">third item</li>
</ul>
</div>
和循环 -
var first = document.querySelectorAll(".tab-menu ul li");
var f;
for (var i in first) {
f = first[i].innerHTML;
console.log(f);
}
它会在控制台中给出 -
"first item"
"second item"
"third item"
undefined
undefined
undefined
undefined
undefined
undefined
答案 0 :(得分:2)
您可以使用forEach
。
var first = document.querySelectorAll(".tab-menu ul li")
first.forEach(function(e) {
var f = e.innerHTML
console.log(f)
})
答案 1 :(得分:-1)
你不应该在数组中使用for..in。试试......:
var first = document.querySelectorAll(".tab-menu ul li");
var f;
for(var el of first){
f = el.innerHTML;
console.log(f);
}