NodeIterator
NodeIterator 接口表示一个遍历 DOM 子树中节点列表的成员的迭代器。节点将按照文档顺序返回。
NodeIterator 可以使用 Document.createNodeIterator() 方法创建,如下所示:
js
var nodeIterator = document.createNodeIterator(root, whatToShow, filter);
属性
这个接口不继承任何属性。
NodeIterator.root(en-US) 只读-
返回一个
Node,它代表创建 NodeIterator 时指定的根节点。 NodeIterator.whatToShow(en-US) 只读-
返回一个无符号长整型,它是一个由描述必须呈现的
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_COMMENT128显示 Comment节点。NodeFilter.SHOW_DOCUMENT256显示 Document节点。NodeFilter.SHOW_DOCUMENT_FRAGMENT1024显示 DocumentFragment节点。NodeFilter.SHOW_DOCUMENT_TYPE512显示 DocumentType节点。NodeFilter.SHOW_ELEMENT1显示 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_INSTRUCTION64显示 ProcessingInstruction(en-US) 节点。NodeFilter.SHOW_TEXT4显示 Text节点。 NodeIterator.filter(en-US) 只读-
返回一个用来选择相关节点的
NodeFilter. NodeIterator.expandEntityReferences只读 已弃用-
Is a
Boolean(en-US) indicating if, when discarding anEntityReferenceits whole sub-tree must be discarded at the same time. NodeIterator.referenceNode(en-US) 只读 实验性-
返回当前遍历到的
Node. NodeIterator.pointerBeforeReferenceNode(en-US) 只读 实验性-
Returns a
Boolean(en-US) flag that indicates whether theNodeIteratoris anchored before, the flag beingtrue, or after, the flag beingfalse, the anchor node.
方法
这个接口不会继承任何属性。
NodeIterator.detach()(en-US) 已弃用-
这个方法不是必需的。它现在什么也不做。之前用来告诉引擎,
NodeIterator已经不会再使用,现在已经不做任何事情。 NodeIterator.previousNode()(en-US)-
返回前一个
Node,如果不存在则返回null. NodeIterator.nextNode()(en-US)-
返回下一个
Node, 如果不存在则返回null.
规范
| Specification |
|---|
| DOM Standard # interface-nodeiterator |
浏览器兼容性
BCD tables only load in the browser
参见
- The creator method:
Document.createNodeIterator(). - Related interfaces:
NodeFilter,TreeWalker.