【发布时间】:2013-02-12 05:52:06
【问题描述】:
我有一个<div>,里面有一些孩子<div>。例如
<div id="niceParent">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
我尝试使用forEach 函数循环遍历它们,因为我认为document.getElementById("niceParent").children 是一个数组,因为我可以使用
console.log(document.getElementById("niceParent").children[1]);
console.log(document.getElementById("niceParent").children[2]);
console.log(document.getElementById("niceParent").children[3]);
console.log(document.getElementById("niceParent").children[4]);
所以我尝试了
document.getElementById("niceParent").children.forEach(function(entry) {
console.log(entry);
});
这不起作用。我明白了
TypeError: document.getElementById(...).children.forEach is not a function
作为一种解决方法,我还尝试了一个更复杂的for..in 循环:
for (var i in document.getElementById("niceParent").children) {
if (document.getElementById("niceParent").children[i].nodeType == 1) console.log(document.getElementById("niceParent").children[i]);
}
按预期工作。
为什么?
【问题讨论】:
标签: javascript for-loop foreach parent-child