Opsi pertama: aktifkan forEach secara tidak langsung
Ini parent.childrenadalah objek seperti Array. Gunakan solusi berikut:
const parent = this.el.parentElement;
Array.prototype.forEach.call(parent.children, child => {
console.log(child)
});
The parent.childrenyaitu NodeListjenis, yang merupakan Array seperti objek karena:
- Ini berisi
lengthproperti, yang menunjukkan jumlah node
- Setiap node adalah nilai properti dengan nama numerik, mulai dari 0:
{0: NodeObject, 1: NodeObject, length: 2, ...}
Lihat lebih detail di artikel ini .
Opsi kedua: gunakan protokol iterable
parent.childrenadalah HTMLCollection: yang mengimplementasikan protokol iterable . Dalam lingkungan ES2015, Anda dapat menggunakan HTMLCollectiondengan konstruksi apa pun yang menerima iterables.
Gunakan HTMLCollectiondengan spread operator:
const parent = this.el.parentElement;
[...parent.children].forEach(child => {
console.log(child);
});
Atau dengan for..ofsiklus (yang merupakan pilihan pilihan saya):
const parent = this.el.parentElement;
for (const child of parent.children) {
console.log(child);
}