NodeIterator - Web API 接口参考 编辑
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 | Status | Comment |
---|---|---|
DOM NodeIterator | Living Standard | Added the referenceNode and pointerBeforeReferenceNode properties.Removed the expandEntityReferences property.The method detach() has been changed to be a no-op.The methods previousNode() and nextNode() don't raise an exception any more. |
Document Object Model (DOM) Level 2 Traversal and Range Specification NodeIterator | Obsolete | Initial definition. |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 1.0 | (Yes) | 3.5 (1.9.1) | 9.0 | 9.0 | 3.0 |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | 1.0 (1.9.1) | (Yes) | 9.0 | 3.0 |
扩展阅读
- The creator method:
Document.createNodeIterator()
. - Related interfaces:
NodeFilter
,TreeWalker
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论