实例属性
此接口不继承任何属性。
TreeWalker.root只读-
返回创建
TreeWalker时指定的根Node。 TreeWalker.whatToShow只读-
返回一个
unsigned long,这是一个位掩码,由描述必须显示的Node类型的常量组成。不匹配的节点将被跳过,但它们的子节点可能会被包含在内(如果相关)。可能的值是:常量 数值 描述 NodeFilter.SHOW_ALL4294967295(即unsigned long的最大值)显示所有节点。 NodeFilter.SHOW_ATTRIBUTE已弃用2显示属性 Attr节点。这仅在以Attr节点作为根创建TreeWalker时才有意义。在这种情况下,它意味着属性节点将出现在迭代或遍历的第一个位置。由于属性永远不是其他节点的子节点,因此在遍历文档树时它们不会出现。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节点。 TreeWalker.filter只读-
返回与此
TreeWalker关联的NodeFilter,用于选择相关的节点。 TreeWalker.currentNode-
是
TreeWalker当前指向的Node。
实例方法
此接口不继承任何方法。
注意:在 TreeWalker 的上下文中,如果一个节点根据 whatToShow 和 filter 参数参数确定了逻辑视图,那么它就是 *可见* 的。(节点在屏幕上是否可见无关紧要。)
TreeWalker.parentNode()-
将当前
Node移动到文档顺序中的第一个 *可见* 祖先节点,并返回找到的节点。它还将当前节点移动到该节点。如果没有这样的节点,或者它位于对象构造时定义的 *根节点* 之前,则返回null,并且当前节点不会改变。 TreeWalker.firstChild()-
将当前
Node移动到当前节点的第一个 *可见* 子节点,并返回找到的子节点。它还将当前节点移动到该子节点。如果没有这样的子节点,则返回null,并且当前节点不会改变。请注意,firstChild()返回的节点取决于在实例化TreeWalker对象时设置的whatToShow的值。假设有以下 HTML 树,如果您将whatToShow设置为NodeFilter.SHOW_ALL,那么调用firstChild()将返回一个Text节点,而不是一个HTMLDivElement对象。html<!doctype html> <html lang="en"> <head> <title>Demo</title> </head> <body> <div id="container"></div> </body> </html>jslet walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL); let node = walker.firstChild(); // nodeName: "#text"但如果我们这样做
jslet walker = document.createTreeWalker( document.body, NodeFilter.SHOW_ELEMENT, ); let node = walker.firstChild(); // nodeName: "DIV"这同样适用于
nextSibling()、previousSibling()、firstChild()和lastChild()。 TreeWalker.lastChild()-
将当前
Node移动到当前节点的最后一个 *可见* 子节点,并返回找到的子节点。它还将当前节点移动到该子节点。如果没有这样的子节点,则返回null,并且当前节点不会改变。 TreeWalker.previousSibling()-
将当前
Node移动到其前一个兄弟节点(如果存在),并返回找到的兄弟节点。如果没有这样的节点,则返回null,并且当前节点不会改变。 TreeWalker.nextSibling()-
将当前
Node移动到其下一个兄弟节点(如果存在),并返回找到的兄弟节点。如果没有这样的节点,则返回null,并且当前节点不会改变。 TreeWalker.previousNode()-
将当前
Node移动到文档顺序中的前一个 *可见* 节点,并返回找到的节点。它还将当前节点移动到该节点。如果没有这样的节点,或者它位于对象构造时定义的 *根节点* 之前,则返回null,并且当前节点不会改变。 TreeWalker.nextNode()-
将当前
Node移动到文档顺序中的下一个 *可见* 节点,并返回找到的节点。它还将当前节点移动到该节点。如果没有这样的节点,则返回null,并且当前节点不会改变。
规范
| 规范 |
|---|
| DOM # interface-treewalker |
浏览器兼容性
加载中…
另见
- 创建方法:
Document.createTreeWalker()。 - 相关接口:
NodeIterator。