NodeIterator
NodeIterator
接口表示一个遍历 DOM 子树中节点列表的成员的迭代器。节点将按照文档顺序返回。
NodeIterator 可以使用 Document.createNodeIterator()
方法创建,如下所示:
js
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
.