- TreeWalker 对象用于表示文档子树中的节点和它们的位置。
- TreeWalker 可以使用 Document.createTreeWalker() 方法创建
- TreeWalker 对象有以下属性:
属性 |
说明 |
状态 |
|||||||||||||||||||||||||||
root |
返回一个 Node ,表示新建 TreeWalker 时所声明的根节点。 |
只读 |
|||||||||||||||||||||||||||
whatToShow |
返回一个 unsigned long 类型的常量位掩码,表示需要筛选的Node 类型。不匹配的节点会跳过,但其子节点,如果符合条件,则也会被包含。可能的值如下:
|
只读 |
|||||||||||||||||||||||||||
filter |
返回一个实现NodeFilter接口的对象,这个对象用来挑选相关的节点 |
只读 |
|||||||||||||||||||||||||||
currentNode |
返回 TreeWalker 当前指向的Node。 |
|
- TreeWalker 对象有以下方法:
方法 |
说明 |
parentNode() |
移动当前 Node到文档顺序中的第一个“可见”的祖先节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动 |
firstChild() |
移动当前 Node到当前节点的第一个“可见”子节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动 |
lastChild() |
移动当前 Node到当前节点的最末一个“可见”子节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动 |
previousSibling() |
移动当前 Node到当前节点的前一个兄弟节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动 |
nextSibling() |
移动当前 Node到当前节点的后一个兄弟节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动 |
previousNode() |
移动当前 Node到文档顺序中前一个节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动 |
nextNode() |
移动当前 Node到文档顺序中下一个节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动 |
注
- 对于TreeWalker ,一个节点是否可见只取决于whatToShow 和 filter 两个参数(和元素是否在屏幕上可见无关)
来自 <https://developer.mozilla.org/zh-CN/docs/Web/API/TreeWalker>