Tùy chọn đầu tiên: gọi forEach một cách gián tiếp
Đây parent.children
là một mảng giống như đối tượng. Sử dụng giải pháp sau:
const parent = this.el.parentElement;
Array.prototype.forEach.call(parent.children, child => {
console.log(child)
});
Các parent.children
là NodeList
loại, mà là một mảng như đối tượng vì:
- Nó chứa thuộc
length
tính, cho biết số lượng nút
- Mỗi nút là một giá trị thuộc tính có tên số, bắt đầu từ 0:
{0: NodeObject, 1: NodeObject, length: 2, ...}
Xem thêm chi tiết trong bài viết này .
Tùy chọn thứ hai: sử dụng giao thức lặp
parent.children
là một HTMLCollection
: thực hiện giao thức lặp . Trong môi trường ES2015, bạn có thể sử dụng HTMLCollection
với bất kỳ cấu trúc nào chấp nhận lặp lại.
Sử dụng HTMLCollection
với toán tử trải rộng:
const parent = this.el.parentElement;
[...parent.children].forEach(child => {
console.log(child);
});
Hoặc với for..of
chu trình (là tùy chọn ưa thích của tôi):
const parent = this.el.parentElement;
for (const child of parent.children) {
console.log(child);
}