樹走
TreeWalker
是一個類似於生成器的介面,可以簡單有效地遞迴過濾 DOM 樹中的節點。
以下程式碼連線頁面中所有 Text
節點的值,並列印結果。
let parentNode = document.body;
let treeWalker = document.createTreeWalker(parentNode, NodeFilter.SHOW_TEXT);
let text = "";
while (treeWalker.nextNode())
text += treeWalker.currentNode.nodeValue;
console.log(text); // all text in the page, concatenated
.createTreeWalker
函式有一個簽名
createTreeWalker(root, whatToShow, filter, entityReferenceExpansion)
引數 | 細節 |
---|---|
root |
子樹的根節點將被轉移 |
whatToShow |
可選,unsigned long 指定要顯示的節點型別。有關更多資訊,請參閱 NodeFilter。 |
filter |
可選,具有 acceptNode 方法的物件,用於在通過 whatToShow 檢查後確定是否應該考慮節點 |
entityReferenceExpansion |
已過時且可選,是一個布林標誌,指示在丟棄 EntityReference 時是否必須同時丟棄其整個子樹。 |