NodeIterator
NodeIterator 接口表示一个用于按照文档顺序遍历 DOM 子树节点的迭代器。
可以使用 Document.createNodeIterator() 方法创建 NodeIterator,如下所示:
js
const nodeIterator = document.createNodeIterator(root, whatToShow, filter);
实例属性
此接口不继承任何属性。
NodeIterator.root只读-
返回一个
Node,表示创建NodeIterator时指定的根节点。 NodeIterator.whatToShow只读-
返回一个
unsigned long位掩码,描述要匹配的Node类型。不匹配的节点将被跳过,但相关的子节点可能包含在内。可能的位掩码值是
NodeFilter接口中的常量:常量 数值 描述 NodeFilter.SHOW_ALL4294967295(即unsigned 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遗留,不再使用。 NodeFilter.SHOW_ENTITY_REFERENCE已弃用16遗留,不再使用。 NodeFilter.SHOW_NOTATION已弃用2048遗留,不再使用。 NodeFilter.SHOW_PROCESSING_INSTRUCTION64显示 ProcessingInstruction节点。NodeFilter.SHOW_TEXT4显示 Text节点。 NodeIterator.filter只读-
返回用于选择相关节点的
NodeFilter。 NodeIterator.referenceNode只读-
返回迭代器所锚定的
Node。 NodeIterator.pointerBeforeReferenceNode只读-
返回一个布尔值,指示
NodeIterator是否锚定在NodeIterator.referenceNode*之前*。如果为false,则表示迭代器锚定在引用节点*之后*。
实例方法
此接口不继承任何方法。
NodeIterator.detach()已弃用-
这是一个遗留方法,不再有任何作用。以前它用于标记一个
NodeIterator已被释放,以便可以被垃圾回收。 NodeIterator.previousNode()-
返回文档中的上一个
Node,如果没有则返回null。 NodeIterator.nextNode()-
返回文档中的下一个
Node,如果没有则返回null。
规范
| 规范 |
|---|
| DOM # interface-nodeiterator |
浏览器兼容性
加载中…
另见
- 创建方法:
Document.createNodeIterator()。 - 相关接口:
TreeWalker