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物件簡介(3)物件
- DOM的TreeWalker物件簡介(4)物件
- jQuery物件轉換為dom物件簡單介紹jQuery物件
- dom物件和jQuery物件相互轉換簡單介紹物件jQuery
- DOM事件簡介事件
- JavaScript物件簡介JavaScript物件
- 原生js的常用dom元素操簡單介紹JS
- JavaScript複製dom元素簡單介紹JavaScript
- Dom4j 讀寫XML簡介XML
- Java Class物件簡介Java物件
- jQuery物件和DOM物件jQuery物件
- Js DOM物件JS物件
- JavaScript DOM物件JavaScript物件
- js dom元素事件處理簡單介紹JS事件
- 原生javascript獲取dom元素簡單介紹JavaScript
- javascript DOM元素節點操作簡單介紹JavaScript
- javascript物件簡單介紹JavaScript物件
- 4Intent物件簡介Intent物件
- jquery物件和DOM物件的互相轉換jQuery物件
- DOM物件與jquery物件的相互轉換物件jQuery
- jQuery物件與Dom物件的相互轉換jQuery物件
- JavaScript DOM文件物件JavaScript物件
- HTML DOM Event 物件HTML物件
- JavaScript HTML DOM 物件JavaScriptHTML物件
- html DOM樹物件HTML物件
- jquery物件如何轉化成DOM物件jQuery物件
- 區別 Jquery物件和Dom物件jQuery物件
- 【JQuery】DOM物件和JQuery物件的互相轉換jQuery物件
- JSON物件簡單介紹JSON物件
- javascript建立物件簡單介紹JavaScript物件
- JavaScript ----- 操作DOM物件的屬性JavaScript物件
- JavaScript HTML DOM Canvas 物件JavaScriptHTMLCanvas物件
- JavaScript 之 DOM [ Document物件 ]JavaScript物件
- HTML DOM FileUpload 物件HTML物件
- javaScript事件,Bom,Dom物件JavaScript事件物件
- 再和“物件導向”談戀愛 - 物件簡介物件
- jQuery物件與DOM物件之轉換jQuery物件
- 如何將jquery生成的物件轉換成dom物件jQuery物件