Opsi pertama: aktifkan forEach secara tidak langsung
Ini parent.children
adalah objek seperti Array. Gunakan solusi berikut:
const parent = this.el.parentElement;
Array.prototype.forEach.call(parent.children, child => {
console.log(child)
});
The parent.children
yaitu NodeList
jenis, yang merupakan Array seperti objek karena:
- Ini berisi
length
properti, 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.children
adalah HTMLCollection
: yang mengimplementasikan protokol iterable . Dalam lingkungan ES2015, Anda dapat menggunakan HTMLCollection
dengan konstruksi apa pun yang menerima iterables.
Gunakan HTMLCollection
dengan spread operator:
const parent = this.el.parentElement;
[...parent.children].forEach(child => {
console.log(child);
});
Atau dengan for..of
siklus (yang merupakan pilihan pilihan saya):
const parent = this.el.parentElement;
for (const child of parent.children) {
console.log(child);
}