DOM的TreeWalker物件簡介
TreeWalker物件是一個功能強大的DOM2物件,可讓您輕鬆地從文件中的節點中過濾並建立自定義集合。 好吧,這聽起來很怪異,但是對於需要解析文件樹的怪異工作,熟悉這個物件並不會有任何傷害。 在編寫指令碼時,您可能需要檢索具有特定CSS類名的網頁中的所有元素,或者需要檢索具有特定屬性值的元素的XML文件。 TreeWalker物件可以輕鬆完成這些任務。 在本教程中,我將介紹DOM2的TreeWalker物件,它是 Firefox / Opera8 +中 支援的DOM2方法, 但不是IE6或IE7(截至beta3)。
在繼續之前,請注意TreeWalker物件中有一個名為NodeIterator的表兄弟,我將在以後的教程中介紹。
document.createTreeWalker()方法
TreeWalker物件可能會變得神祕而且有些複雜,但它實際上只是通過一個方法document.createTreeWalker()來實現。 該方法及其接受的4個引數簡化了可能需要多次傳統編碼的過程,例如,過濾文件中具有特定元素型別並攜帶特定屬性的所有節點。 但在我們完成所有這些之前,這裡是document.createTreeWalker()的基本描述:
document.createTreeWalker(root,nodesToShow,filter,entityExpandBol)
是時候分解4個引數了:
-
root: 使用開始搜尋文件樹的根節點。
-
nodesToShow: TreeWalker應訪問的節點型別。
-
filter(或null): 引用自定義函式(NodeFilter物件)來過濾返回的節點。 輸入null表示無。
-
entityExpandBol: 布林引數,指定是否應擴充套件實體引用。
對於3),有效常量值為:
NodeFilter.SHOW_ALL |
NodeFilter.SHOW_
ENTITY_REFERENCE |
NodeFilter.SHOW_
DOCUMENT_TYPE |
NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_ENTITY | NodeFilter.SHOW_FRAGMENT |
NodeFilter.SHOW_ATTRIBUTE |
NodeFilter.SHOW_
PROCESSING_INSTRUCTION |
NodeFilter.SHOW_NOTATION |
NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT |
|
NodeFilter.SHOW_
CDATA_SECTION |
NodeFilter.SHOW_DOCUMENT |
|
雖然有15個不同的NodeFilter常量可以限制TreeWalker返回的節點型別,但您可能只會在大多數情況下使用其中的一些節點。 例如,NodeFilter.SHOW_ELEMENT返回所有元素節點。
好吧,所以你很想看到document.createTreeWalker()的演示,這是一個非常基本的開始:
在此示例中,我指定TreeWalker的根節點開始遍歷ID為“contentarea”的容器。 物件的第二個引數指定TreeWalker應該只對容器內的元素節點(與文字節點,註釋節點等)進行爬網。 第三個引數設定為null,表示不應該進行額外的過濾(尚未!)。 第4個引數涉及是否應擴充套件實體引用,並將其設定為false。 有了所有引數,“walker”現在引用DIV中的所有元素(P,SPAN和B)以及DIV本身。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69933200/viewspace-2652227/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DOM的TreeWalker物件簡介(4)物件
- DOM的TreeWalker物件簡介(3)物件
- JavaScript物件簡介JavaScript物件
- Java Class物件簡介Java物件
- Js DOM物件JS物件
- JSON物件簡單介紹JSON物件
- jquery物件和DOM物件的互相轉換jQuery物件
- HTML DOM FileUpload 物件HTML物件
- HTML DOM Event 物件HTML物件
- JavaScript HTML DOM 物件JavaScriptHTML物件
- JavaScript DOM文件物件JavaScript物件
- html DOM樹物件HTML物件
- 【JQuery】DOM物件和JQuery物件的互相轉換jQuery物件
- jquery物件如何轉化成DOM物件jQuery物件
- JavaScript ----- 操作DOM物件的屬性JavaScript物件
- 再和“物件導向”談戀愛 - 物件簡介物件
- JavaScript 之 DOM [ Document物件 ]JavaScript物件
- JavaScript HTML DOM Canvas 物件JavaScriptHTMLCanvas物件
- javaScript事件,Bom,Dom物件JavaScript事件物件
- ASP.NET Web Pages – 物件簡介ASP.NETWeb物件
- JavaScript課程——Day07(物件簡介、Math物件、時間物件、字串物件)JavaScript物件字串
- JSP簡介以及各種內建物件的用法JS物件
- jQuery物件和DOM物件和字串之間的轉化jQuery物件字串
- jQuery 物件 與 原生 DOM 物件 相互轉換jQuery物件
- 初識文件物件模型(DOM)物件模型
- XML DOM Parse Error 物件概述XMLError物件
- ASP.NET Web Forms – SortedList 物件簡介ASP.NETWebORM物件
- ASP.NET Web Forms – Hashtable 物件簡介ASP.NETWebORM物件
- ASP.NET Web Forms – ArrayList 物件簡介ASP.NETWebORM物件
- DOM介紹~超好理解的哦
- 好程式設計師web前端培訓分享HTML DOM簡介程式設計師Web前端HTML
- 在JavaScript中,DOM物件與jQuery物件的區別與轉換JavaScript物件jQuery
- DOM (文件物件模型(Document Object Model))物件模型Object
- DOM 模型(文件物件模型)重點模型物件
- HTML DOM之document物件的屬性和方法HTML物件
- js原生dom物件和jQuery物件可以混合使用嗎?JS物件jQuery
- 詳細瞭解文件物件模型(DOM)物件模型
- DOM(文件物件模型)的12個節點型別物件模型型別