根据MDN,HTMLCollection
元素的children
属性恰好是“类似数组的对象”。好的,让我们尝试迭代它:
for(var par in document.getElementById("Container").children)
document.getElementById("Results").innerHTML +=
par.id+"<br>"
<div id="Container">
<p id="Par1"></p>
<p id="Par2"></p>
</div>
<p id="Results"></p>
首先,为什么我会显示5行而不是2行,每段一个?那么,为什么我得到undefined
而不是Par1
和Par2
?
奇怪的是,循环遍历其索引的工作正常:
var cont = document.getElementById("Container");
for(var i = 0; i < cont.children.length; i++)
document.getElementById("Results").innerHTML +=
cont.children[i].id+"<br>";
<div id="Container">
<p id="Par1"></p>
<p id="Par2"></p>
</div>
<p id="Results"></p>
我怎么理解不到?