NodeIterator: whatToShow 屬性

Baseline 已廣泛支援

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

NodeIterator.whatToShow 只讀屬性代表一個 unsigned integer,它表示一個位掩碼,指示 NodeIterator 應返回哪些型別的節點。

一個 unsigned integer

可以組合形成位掩碼的值是:

常量 數值 描述
NodeFilter.SHOW_ALL 4294967295(即 unsigned long 的最大值) 顯示所有節點。
NodeFilter.SHOW_ATTRIBUTE 已棄用 2 顯示屬性 Attr 節點。當使用 Attr 節點作為根節點建立 NodeIteratorTreeWalker 時,此項才有意義;在這種情況下,它意味著屬性節點將出現在迭代或遍歷的第一個位置。由於屬性永遠不是其他節點的子節點,因此在遍歷文件樹時它們不會出現。
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 nodeIterator = document.createNodeIterator(
  document.body,
  NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT,
  { acceptNode: (node) => NodeFilter.FILTER_ACCEPT },
);
if (
  nodeIterator.whatToShow & NodeFilter.SHOW_ALL ||
  nodeIterator.whatToShow & NodeFilter.SHOW_COMMENT
) {
  // nodeIterator will show comments
}

規範

規範
DOM
# dom-nodeiterator-whattoshow

瀏覽器相容性

另見