私は<div>
、子供には<div>
をいくつか持っています。例えば。なぜforEachは子供のために働いていないのですか?
document.getElementById("niceParent").children.forEach(function(entry) {
console.log(entry);
});
を試み
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
関数でそれらをループに試み
<div id="niceParent">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
は機能しません。
for (var i in document.getElementById("niceParent").children) {
if (document.getElementById("niceParent").children[i].nodeType == 1) console.log(document.getElementById("niceParent").children[i]);
}
期待通りに働いていた:私は、私も、はるかにcomplicated- for..in
ループでそれを試してみました回避策として
TypeError: document.getElementById(...).children.forEach is not a function
を取得します。
なぜですか?
私はFelix Klingとloneomedayの両方の回答を受け入れます彼はいくつかのエイリアスを使用しても同じです。ありがとうございました。特にMDNへのリンクについて。 – erik
ECMAScript6では、Array.prototype.from()を使用して、より明確な方法で配列への変換の意図を述べることができます。 –
@АндрейБеньковский:良い点!私は私の答えを更新します。 –