NodeIterator
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.
NodeIterator
接口表示一个遍历 DOM 子树中节点列表的成员的迭代器。节点将按照文档顺序返回。
NodeIterator 可以使用 Document.createNodeIterator()
方法创建,如下所示:
var nodeIterator = document.createNodeIterator(root, whatToShow, filter);
属性
这个接口不继承任何属性。
NodeIterator.root
只读-
返回一个
Node
,它代表创建 NodeIterator 时指定的根节点。 NodeIterator.whatToShow
只读-
返回一个无符号长整型,它是一个由描述必须呈现的
Node
类型的常量构成的位掩码。不匹配的节点被跳过,但是如果相关,他们的子节点可能被包括在内。可能的值是:Constant Numerical value Description NodeFilter.SHOW_ALL
-1
(that is the max value ofunsigned long
)显示所有节点。 NodeFilter.SHOW_ATTRIBUTE
已弃用2
显示属性 Attr
节点。只有当用一个Attr
节点作为根节点来创建NodeIterator
时才有意义; 在这种情况下,这意味着属性节点会出现在迭代或遍历的首位。因为属性永远不会是其他节点的子节点,当遍历整个文档树时它们不会出现。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
节点。只有当用一个Entity
节点作为它的根节点来创建一个NodeIterator
时才有意义; 在这种情况下,Entity
节点会出现在迭代或遍历的首位。因为Entity
永远不会是其他节点的子节点,当遍历整个文档树时它们不会出现。NodeFilter.SHOW_ENTITY_REFERENCE
已弃用16
显示 EntityReference
节点。NodeFilter.SHOW_NOTATION
已弃用2048
显示 Notation
节点。只有当用一个Notation
节点作为它的根节点时来创建一个NodeIterator
才有意义; 在这种情况下,Notation
节点会出现在迭代或遍历的首位。因为Notation
永远不会是其他节点的子节点,当遍历整个文档树时它们不会出现。NodeFilter.SHOW_PROCESSING_INSTRUCTION
64
显示 ProcessingInstruction
节点。NodeFilter.SHOW_TEXT
4
显示 Text
节点。 NodeIterator.filter
只读-
返回一个用来选择相关节点的
NodeFilter
. NodeIterator.expandEntityReferences
只读 已弃用-
Is a
Boolean
indicating if, when discarding anEntityReference
its whole sub-tree must be discarded at the same time. NodeIterator.referenceNode
只读 实验性-
返回当前遍历到的
Node
. NodeIterator.pointerBeforeReferenceNode
只读 实验性-
Returns a
Boolean
flag that indicates whether theNodeIterator
is anchored before, the flag beingtrue
, or after, the flag beingfalse
, the anchor node.
方法
这个接口不会继承任何属性。
NodeIterator.detach()
已弃用-
这个方法不是必需的。它现在什么也不做。之前用来告诉引擎,
NodeIterator
已经不会再使用,现在已经不做任何事情。 NodeIterator.previousNode()
-
返回前一个
Node
,如果不存在则返回null
. NodeIterator.nextNode()
-
返回下一个
Node
, 如果不存在则返回null
.
规范
Specification |
---|
DOM Standard # interface-nodeiterator |
浏览器兼容性
BCD tables only load in the browser
参见
- The creator method:
Document.createNodeIterator()
. - Related interfaces:
NodeFilter
,TreeWalker
.