TreeWalker - Web API 接口参考 编辑
TreeWalker
对象用于表示文档子树中的节点和它们的位置。
TreeWalker
可以使用 Document.createTreeWalker()
方法创建。
属性
这个接口不继承任何属性。
TreeWalker.root
只读- 返回一个
Node
,表示新建TreeWalker
时所声明的根节点。 TreeWalker.whatToShow
只读- 返回一个
unsigned long
类型的常量位掩码,表示需要筛选的Node
类型。不匹配的节点会跳过,但其子节点,如果符合条件,则也会被包含。可能的值如下:常量 数字值 描述 NodeFilter.SHOW_ALL
-1
(that is the max value ofunsigned long
)显示所有节点。 NodeFilter.SHOW_ATTRIBUTE
2
显示 Attr
节点,这意味着使用TreeWalker
访问Attr
节点时,需要让这些节点处于遍历的开始位置。这是因为这些节点不是任何节点的后代,并不处于文档树之上。NodeFilter.SHOW_CDATA_SECTION
8
显示 CDATASection
节点。NodeFilter.SHOW_COMMENT
128
显示 Comment
节点。NodeFilter.SHOW_DOCUMENT
256
显示 Document
节点。NodeFilter.SHOW_DOCUMENT_FRAGMENT
1024
显示 DocumentFragment
节点。NodeFilter.SHOW_DOCUMENT_TYPE
512
显示 DocumentType
节点。NodeFilter.SHOW_ELEMENT
1
显示 Element
节点。NodeFilter.SHOW_ENTITY
32
显示 Entity
节点,这意味着使用TreeWalker
访问Entity
节点时,需要让这些节点处于遍历的开始位置。这是因为这些节点不是任何节点的后代,并不处于文档树之上。NodeFilter.SHOW_ENTITY_REFERENCE
16
显示 EntityReference
节点。NodeFilter.SHOW_NOTATION
2048
显示 Notation
节点,这意味着使用TreeWalker
访问Notation
节点时,需要让这些节点处于遍历的开始位置。这是因为这些节点不是任何节点的后代,并不处于文档树之上。NodeFilter.SHOW_PROCESSING_INSTRUCTION
64
显示 ProcessingInstruction
节点。NodeFilter.SHOW_TEXT
4
显示 Text
节点。 TreeWalker.filter
只读- 返回一个实现
NodeFilter
接口的对象,这个对象用来挑选相关的节点。 TreeWalker.expandEntityReferences
只读- 是个
Boolean
的标记,表明是否在丢弃一个EntityReference
是否同时丢弃其后代。 TreeWalker.currentNode
- 返回
TreeWalker
当前指向的Node
。
方法
这个接口不继承任何方法。
注意:对于TreeWalker
,一个节点是否可见只取决于whatToShow
和 filter
两个参数(和元素是否在屏幕上可见无关)
TreeWalker.parentNode()
- 移动当前
Node
到文档顺序中的第一个“可见”的祖先节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动。 TreeWalker.firstChild()
- 移动当前
Node
到当前节点的第一个“可见”子节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动。 TreeWalker.lastChild()
- 移动当前
Node
到当前节点的最末一个“可见”子节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动。 TreeWalker.previousSibling()
- 移动当前
Node
到当前节点的前一个兄弟节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动。 TreeWalker.nextSibling()
- 移动当前
Node
到当前节点的后一个兄弟节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动。 TreeWalker.previousNode()
- 移动当前
Node
到文档顺序中前一个节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动。 TreeWalker.nextNode()
- 移动当前
Node
到文档顺序中下一个节点,并返回该节点。如果没有这样的节点,则会返回 null ,同时也不会发生移动。
规范
规范 | 状态 | 注释 |
---|---|---|
DOM TreeWalker | Living Standard | Removed the expandEntityReferences property. |
Document Object Model (DOM) Level 2 Traversal and Range Specification TreeWalker | Obsolete | Initial definition. |
浏览器兼容性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.参见
- 构造函数:
Document.createTreeWalker()
. - 相关接口:
NodeFilter
,NodeIterator
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论