您好,登錄后才能下訂單哦!
如何進行DOM模型的入門,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
向大家描述一下DOM模型的概念,DOM是DocumentObjectModel的簡稱,自從W3C建立了DOM標準(W3CDOM)之后,以及DOM和瀏覽器兼容之后,DOM在實際應用中越來越廣泛。
DOM模型概述
自從W3C建立了DOM標準(W3CDOM)之后,以及DOM和瀏覽器兼容之后,DOM在實際應用中越來越廣泛。DOM是DocumentObjectModel的簡稱,中文名稱為文檔對象模型。它的主要作用是建立網頁與Script或程序語言溝通的橋梁。
我們平時可操作及建立文件的屬性、方法及事件都以并且用“對象”來展現(例如,document就代表“文件本身”這個對象,table對象則代表HTML的表格對象等等)。這些對象可以由當今大多數的瀏覽器以Script來取用。
DOM模型常用來和JavaScript交互,也就是說程序以JavaScript寫成,但使用DOM來存取頁面及其元素。它們兩者之間的結合非常緊密,甚至可以說如果沒有DOM,我們在使用javascript的時候是不可想象的,因為我們每解析一個節點一個元素都要耗費很多精力,DOM本身是設計為一種獨立的程序語言,以一致的API存取文件的結構表述;當然除了JavaScript,DOM可還可以與任何程序語言共同運作,如C/C++、VB、VBS。
在和JavaScript進行交互的時候,DOM模型主要用來解析XML文檔,當你的應用程序需要不斷地導航、修改文檔或隨機地一次訪問整個文檔時,我們一般就使用DOM來解析。
在使用DOM進行解析的時候,它在內存中構建起一棵完整的解析樹,借此實現對整個XML文檔的全面、動態訪問。也就是說,它的解析是有層次的,即將所有的html中的元素都解析成樹上層次分明的節點,然后我們可以對這些節點進行增刪改查等操作,這是對DOM模型的作用的最完善的總結。
和SAX不同,SAX是順序解析的,與DOM相比,SAX解析器能提供更好的性能優勢,它提供對XML文檔內容的有效低級訪問。
SAX模型***的優點是內存消耗小,因為整個文檔無需一次加載到內存中,這使SAX解析器可以解析大于系統內存的文檔。另外,你無需像在DOM中那樣為所有節點創建對象。***,SAX“推”模型可用于廣播環境,能夠同時注冊多個ContentHandler,并行接收事件,而不是在一個管道中一個接一個地進行處理。但是SAX的一些缺點使它的流行性不如DOM。
DOM模型的使用非常簡單。你可以隨機地訪問XML文檔,由于整個樹都構建在內存中,因此可以通過DOMAPI修改這些節點,例如增加一個子節點或修改、刪除一個節點。
不過,雖然內存樹結構提供了很好的導航支持,但仍有一些解析策略問題需要仔細考慮。首先,整個XML文檔必須一次解析完成,不可能只做部分解析;其次是效率問題,在內存中加載整個文檔和構建完整樹結構的成本很高,尤其當文檔非常大的時候。典型地,DOM樹的容量比文檔容量要大一個數量級,所以它要消耗大量內存;第三,一般的DOM節點類型在互操作性上有優勢,但對于對象類型綁定也許不是***的。
關于如何進行DOM模型的入門問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。