TreeWalker:whatToShow 属性

TreeWalker.whatToShow 只读属性返回一个位掩码,指示要显示的节点类型。不匹配的节点将被跳过,但如果相关,其子节点可能会被包含在内。可能的值为

常量 数值 描述
NodeFilter.SHOW_ALL 4294967295(即unsigned long的最大值) 显示所有节点。
NodeFilter.SHOW_ATTRIBUTE 已弃用 2 显示属性Attr节点。这仅在使用Attr节点作为其根节点创建TreeWalker时才有意义;在这种情况下,这意味着属性节点将出现在迭代或遍历的第一个位置。由于属性永远不是其他节点的子节点,因此在遍历文档树时不会出现它们。
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 旧版,不再使用。
NodeFilter.SHOW_ENTITY_REFERENCE 已弃用 16 旧版,不再使用。
NodeFilter.SHOW_NOTATION 已弃用 2048 旧版,不再使用。
NodeFilter.SHOW_PROCESSING_INSTRUCTION 64 显示ProcessingInstruction节点。
NodeFilter.SHOW_TEXT 4 显示Text节点。

位掩码。

示例

js
const treeWalker = document.createTreeWalker(
  document.body,
  NodeFilter.SHOW_ELEMENT + NodeFilter.SHOW_COMMENT + NodeFilter.SHOW_TEXT,
  { acceptNode: (node) => NodeFilter.FILTER_ACCEPT },
  false,
);
if (
  treeWalker.whatToShow === NodeFilter.SHOW_ALL ||
  treeWalker.whatToShow % (NodeFilter.SHOW_COMMENT * 2) >=
    NodeFilter.SHOW_COMMENT
) {
  // treeWalker will show comments
}

规范

规范
DOM 标准
# dom-treewalker-whattoshow

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅