TreeWalker
TreeWalker
对象用于表示文档子树中的节点和它们的位置。
TreeWalker
可以使用 Document.createTreeWalker()
方法创建。
属性
这个接口不继承任何属性。
TreeWalker.root
(en-US) 只读-
返回一个
Node
,表示新建TreeWalker
时所声明的根节点。 TreeWalker.whatToShow
(en-US) 只读-
返回一个
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
(en-US) 节点。NodeFilter.SHOW_TEXT
4
显示 Text
节点。 TreeWalker.filter
(en-US) 只读-
返回一个实现
NodeFilter
接口的对象,这个对象用来挑选相关的节点。 TreeWalker.expandEntityReferences
只读 已弃用-
是个
Boolean
(en-US)的标记,表明是否在丢弃一个EntityReference
是否同时丢弃其后代。 TreeWalker.currentNode
(en-US)-
返回
TreeWalker
当前指向的Node
。
方法
这个接口不继承任何方法。
备注: 对于TreeWalker
,一个节点是否可见只取决于whatToShow
和 filter
两个参数(和元素是否在屏幕上可见无关)
TreeWalker.parentNode()
(en-US)-
移动当前
Node
到文档顺序中的第一个“可见”的祖先节点,并返回该节点。如果没有这样的节点,则会返回 null,同时也不会发生移动。 TreeWalker.firstChild()
(en-US)-
移动当前
Node
到当前节点的第一个“可见”子节点,并返回该节点。如果没有这样的节点,则会返回 null,同时也不会发生移动。 TreeWalker.lastChild()
(en-US)-
移动当前
Node
到当前节点的最末一个“可见”子节点,并返回该节点。如果没有这样的节点,则会返回 null,同时也不会发生移动。 TreeWalker.previousSibling()
(en-US)-
移动当前
Node
到当前节点的前一个兄弟节点,并返回该节点。如果没有这样的节点,则会返回 null,同时也不会发生移动。 TreeWalker.nextSibling()
(en-US)-
移动当前
Node
到当前节点的后一个兄弟节点,并返回该节点。如果没有这样的节点,则会返回 null,同时也不会发生移动。 TreeWalker.previousNode()
(en-US)-
移动当前
Node
到文档顺序中前一个节点,并返回该节点。如果没有这样的节点,则会返回 null,同时也不会发生移动。 TreeWalker.nextNode()
(en-US)-
移动当前
Node
到文档顺序中下一个节点,并返回该节点。如果没有这样的节点,则会返回 null,同时也不会发生移动。
规范
Specification |
---|
DOM Standard # interface-treewalker |
浏览器兼容性
BCD tables only load in the browser
参见
- 构造函数:
Document.createTreeWalker()
. - 相关接口:
NodeFilter
,NodeIterator
.