TreeWalker
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Đối tượng TreeWalker đại diện cho các nút của một cây con tài liệu và vị trí hiện tại bên trong chúng.
Bạn có thể tạo một TreeWalker bằng phương thức Document.createTreeWalker().
Thuộc tính thể hiện
Giao diện này không kế thừa thuộc tính nào.
TreeWalker.rootRead only-
Trả về
Nodegốc như đã chỉ định khiTreeWalkerđược tạo. TreeWalker.whatToShowRead only-
Trả về một
unsigned longlà bitmask được tạo từ các hằng số mô tả những kiểuNodecần hiển thị. Các nút không khớp sẽ bị bỏ qua, nhưng nút con của chúng vẫn có thể được bao gồm nếu phù hợp. TreeWalker.filterRead only-
Trả về
NodeFilterđược liên kết vớiTreeWalkernày và được dùng để chọn các nút phù hợp. TreeWalker.currentNode-
Là
NodemàTreeWalkerhiện đang trỏ tới.
Phương thức thể hiện
Giao diện này không kế thừa phương thức nào.
Note:
Trong ngữ cảnh của TreeWalker, một nút được xem là có thể thấy nếu nó tồn tại trong chế độ xem logic được xác định bởi các đối số whatToShow và filter. Việc nút có hiển thị trên màn hình hay không là không liên quan.
TreeWalker.parentNode()-
Di chuyển
Nodehiện tại đến nút cha tổ tiên có thể thấy đầu tiên theo thứ tự tài liệu, và trả về nút đó. Đồng thời nút hiện tại cũng được cập nhật sang nút này. Nếu không có nút như vậy, hoặc nếu nó nằm trước nút gốc được xác định khi tạo đối tượng, phương thức trả vềnullvà nút hiện tại không thay đổi. TreeWalker.firstChild()-
Di chuyển
Nodehiện tại đến nút con có thể thấy đầu tiên của nút hiện tại, và trả về nút con tìm được. Đồng thời nút hiện tại cũng được cập nhật sang nút này. Nếu không có nút con như vậy, phương thức trả vềnullvà nút hiện tại không thay đổi. Lưu ý rằng nút dofirstChild()trả về phụ thuộc vào giá trịwhatToShowđược đặt khi khởi tạo đối tượngTreeWalker. Giả sử cây HTML sau và bạn đặtwhatToShowthànhNodeFilter.SHOW_ALL, thì lời gọifirstChild()sẽ trả về một nútTextchứ không phải đối tượngHTMLDivElement.html<!doctype html> <html lang="vi"> <head> <title>Demo</title> </head> <body> <div id="container"></div> </body> </html>jslet walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL); let node = walker.firstChild(); // nodeName: "#text"Nhưng nếu chúng ta làm như sau:
jslet walker = document.createTreeWalker( document.body, NodeFilter.SHOW_ELEMENT, ); let node = walker.firstChild(); // nodeName: "DIV"Điều tương tự cũng áp dụng cho
nextSibling(),previousSibling(),firstChild()vàlastChild() TreeWalker.lastChild()-
Di chuyển
Nodehiện tại đến nút con có thể thấy cuối cùng của nút hiện tại, và trả về nút con tìm được. Đồng thời nút hiện tại cũng được cập nhật sang nút này. Nếu không có nút con như vậy, phương thức trả vềnullvà nút hiện tại không thay đổi. TreeWalker.previousSibling()-
Di chuyển
Nodehiện tại đến nút anh em trước đó của nó, nếu có, và trả về nút anh em tìm được. Nếu không có nút như vậy, trả vềnullvà nút hiện tại không thay đổi. TreeWalker.nextSibling()-
Di chuyển
Nodehiện tại đến nút anh em tiếp theo của nó, nếu có, và trả về nút anh em tìm được. Nếu không có nút như vậy, phương thức trả vềnullvà nút hiện tại không thay đổi. TreeWalker.previousNode()-
Di chuyển
Nodehiện tại đến nút có thể thấy trước đó theo thứ tự tài liệu, và trả về nút tìm được. Đồng thời nút hiện tại cũng được cập nhật sang nút này. Nếu không có nút như vậy, hoặc nếu nó nằm trước nút gốc được xác định khi tạo đối tượng, phương thức trả vềnullvà nút hiện tại không thay đổi. TreeWalker.nextNode()-
Di chuyển
Nodehiện tại đến nút có thể thấy tiếp theo theo thứ tự tài liệu, và trả về nút tìm được. Đồng thời nút hiện tại cũng được cập nhật sang nút này. Nếu không có nút như vậy, phương thức trả vềnullvà nút hiện tại không thay đổi.
Thông số kỹ thuật
| Specification |
|---|
| DOM> # interface-treewalker> |
Tương thích trình duyệt
Xem thêm
- Phương thức tạo:
Document.createTreeWalker(). - Giao diện liên quan:
NodeIterator.