JavaScript HTML DOM danh sách nút
Đối tượng HTML DOM NodeList
NodeList Đối tượng là danh sách các nút được lấy từ tài liệu (hợp集).
Đối tượng NodeList gần như giống hệt đối tượng HTMLCollection.
Nếu sử dụng getElementsByClassName()
Phương thức, một số trình duyệt (cũ) sẽ trả về NodeList đối tượng thay vì HTMLCollection.
Tất cả các trình duyệt sẽ trả về childNodes
Thuộc tính trả về đối tượng NodeList.
Hầu hết các trình duyệt sẽ trả về querySelectorAll()
Phương thức trả về đối tượng NodeList.
Mã dưới đây chọn tất cả các phần tử <p> trong tài liệu:
Mô hình
var myNodeList = document.querySelectorAll("p");
Các phần tử trong NodeList có thể được truy cập qua chỉ số.
Nếu bạn muốn truy cập vào phần tử <p> thứ hai, bạn có thể viết như sau:
y = myNodeList[1];
Ghi chú:Chỉ số bắt đầu từ 0.
Độ dài của HTML DOM Node List
length
Thuộc tính định nghĩa số lượng nút trong danh sách nút:
Mô hình
var myNodelist = document.querySelectorAll("p"); document.getElementById("demo").innerHTML = myNodelist.length;
Giải thích ví dụ:
- Tạo danh sách tất cả các phần tử <p>
- Hiển thị độ dài của danh sách này
length
Thuộc tính rất hữu ích khi bạn muốn duyệt qua danh sách các nút trong danh sách nút:
Mô hình
Thay đổi màu nền của tất cả các phần tử <p> trong danh sách nút:
var myNodelist = document.querySelectorAll("p"); var i; for (i = 0; i < myNodelist.length; i++) { myNodelist[i].style.backgroundColor = "red"; }
Sự khác biệt giữa HTMLCollection và NodeList
HTMLCollection (chương trước) là tập hợp các yếu tố HTML.
NodeList là tập hợp các nút văn bản.
NodeList gần như hoàn toàn giống với HTML Collection.
HTMLCollection và NodeList đối tượng đều là danh sách các đối tượng (mảng) dạng class mảng.
Họ đều có định nghĩa số lượng mục trong danh sách (mảng)。 length
Thuộc tính.
Cả hai đều có thể truy cập mỗi mục thông qua chỉ số (0, 1, 2, 3, 4, ...) như một mảng.
Để truy cập các mục HTMLCollection, bạn có thể sử dụng tên, id hoặc số thứ tự của chúng.
Để truy cập các mục NodeList, bạn chỉ có thể sử dụng số thứ tự của chúng.
Chỉ NodeList đối tượng mới có thể chứa các nút và các nút văn bản.
Danh sách nút không phải là mảng!
Danh sách nút trông giống như một mảng nhưng không phải là.
Bạn có thể duyệt qua danh sách nút và truy cập các nút của nó như một mảng.
Tuy nhiên, bạn không thể sử dụng các phương pháp mảng đối với danh sách nút, chẳng hạn như valueOf()
、push()
、pop()
hoặc join()
.