Mam <div>
z pewnym dzieckiem <div>
w nim. Na przykład.Dlaczego NIE DZIAŁA WSZYSTKIEGO DLA DZIECI?
<div id="niceParent">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
że próbował pętli nich funkcji forEach
, ponieważ uważał, że document.getElementById("niceParent").children
jest tablica, jak można uzyskać dostęp do elementów z
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]);
Stąd że próbował
document.getElementById("niceParent").children.forEach(function(entry) {
console.log(entry);
});
która nie działa. I dostać
TypeError: document.getElementById(...).children.forEach is not a function
Jako obejście ja też próbuje go o wiele bardziej complicated--for..in
pętli:
for (var i in document.getElementById("niceParent").children) {
if (document.getElementById("niceParent").children[i].nodeType == 1) console.log(document.getElementById("niceParent").children[i]);
}
który pracował zgodnie z oczekiwaniami.
Dlaczego?
Chciałbym przyjąć zarówno odpowiedź Felixa Klinga, jak i lonesomeday, ponieważ są one był taki sam, pomimo użycia niektórych aliasów. Dziękuję Ci. Zwłaszcza w przypadku linku do MDN. – erik
W ECMAScript6 można użyć 'Array.prototype.from()' do określenia zamiaru konwersji na Array w bardziej przejrzysty sposób. –
@ АндрейБеньковский: dobry punkt! Zaktualizuję moją odpowiedź. –