TreeWalker: whatToShow 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

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

瀏覽器相容性

另見