その中に<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
回避策として、もっと複雑な <code>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]);
}
期待どおりに機能しました。
なんで?