例項屬性
此介面不繼承任何屬性。
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。