成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

探究DOM文檔對象模型用法

開發 前端
DOM就是文檔對象模型,DOM文檔對象模型實際上有兩種,HTMLDOM和XMLDOM,它最初是W3C為了解決瀏覽器大戰時代不同瀏覽器之間的差別而制定的,主要就是IE和NetscapeNavigator之間的差別。

本文向大家描述一下DOM文檔對象模型,DOM文檔對象模型實際上有兩種,HTMLDOM和XMLDOM。HTMLDOM是一種特殊的DOM,它僅支持使用getElementById()和getElementsByTagName()兩個方法來進行查詢(請不要將IE私有的all()方法混淆進來),而XMLDOM則可以與XPathAPI相結合,基于強大的正則表達式來進行查詢。

DOM文檔對象模型

DOM就是文檔對象模型(DocumentObjectModel),最初是W3C為了解決瀏覽器大戰時代不同瀏覽器之間的差別而制定的,主要就是IE和NetscapeNavigator之間的差別。

DOM文檔對象模型實際上有兩種,HTMLDOM和XMLDOM。HTMLDOM是一種特殊的DOM,它僅支持使用getElementById()和getElementsByTagName()兩個方法來進行查詢(請不要將IE私有的all()方法混淆進來),而XMLDOM則可以與XPathAPI相結合,基于強大的正則表達式來進行查詢。Ajax開發中所用到的主要是HTMLDOM,如果不涉及到處理XML格式的數據,就不需要用到XMLDOM。以下所說的DOM文檔對象模型也是指HTMLDOM。

用簡單通俗的語言來說,DOM文檔對象模型使得你可以訪問頁面上的標準組件(元素、樣式表、腳本、etc.)并處理它。多年來,那些希望創建前端Web應用的程序員們都必須使用JavaApplet、Flash或者ActiveX。當然現在這些工具還是可以使用的,但是支持DOM的瀏覽器使得Web開發人員擁有了創建多樣化、功能強大的基于Web的應用程序的能力,而且完全使用基于標準的技術。

DOM文檔對象模型將整個HTML文檔展現為內存中的一棵樹狀結構(瀏覽器內存中僅僅只有一棵這樣的HTMLDOM樹,其根節點為document對象),每個元素、屬性都是樹上的一個節點。可以通過JavaScript來訪問這棵DOM樹,遍歷樹上的節點、動態添加、刪除樹上的節點、設置或修改某個節點的樣式、設置或修改某個節點中保存的數值等等。通過JavaScript對于這棵DOM樹所做的任何修改都會立即生效,JavaScript不能夠控制瀏覽器重新呈現DOM樹的時間。因為瀏覽器重新呈現DOM樹是一個非常耗時的操作,所以應該將做這種操作的次數盡量減到最少。

假設我動態創建了一個div作為容器,在div中包含了5個動態加載的img元素,如果我采取這樣的順序來編寫代碼:

◆創建div,將其附加到document上。

◆創建5個img,每次一創建,就立即將其附加到div上(從而附加在document上)。

那么瀏覽器重新呈現DOM樹做了幾次呢?一共做了6次。

如果我采取這樣的順序來編寫代碼呢:

◆創建div,

◆創建5個img,將其附加在div上。

◆將div附加到document上。

那么瀏覽器重新呈現DOM樹做了幾次呢?只做了1次。

顯然,后面一種方法重新呈現的次數最少,因此執行的效率***,這就是在AjaxinAction中所推薦的方法。

另外,DOM樹上的每個節點都是一個非常龐大的對象。為了直觀地了解DOM文檔對象模型節點是如何龐大,可以使用Firefox中的DOM檢查器任意打開一個DOM節點,其中屬性的數量會讓你大吃一驚,尤其是style數組中的屬性數量。因此當動態創建的DOM節點不再使用時,一定要及時釋放掉(就是將到它的引用全部設置為null,使其處于不可達的狀態,以便垃圾回收器能夠及時將其回收)。如果沒有及時釋放不用的DOM節點,一段時間之后可能會造成驚人的內存泄漏。

***再說一下,innerHTML這個屬性并不是W3CDOM的標準屬性。這個屬性最初是IE的發明,但是開發者使用起來非常方便,于是成為了事實上的標準。其他所有主流的瀏覽器也都支持這個屬性,所以可以放心使用。而outerHTML、innerText則只有IE支持,在開發跨瀏覽器的Ajax應用時,不應該使用這兩個屬性。

【編輯推薦】

  1. JavaScript DOM特性與應用詳解
  2. W3C DOM模型用法詳解
  3. 深入學習DOM模型基礎
  4. 深入了解JavaScript HTML DOM對象
  5. 術語匯編 Javascript DOM技術探究

 

責任編輯:佚名 來源: javaeye.com
相關推薦

2010-09-28 11:03:19

XML DOM

2010-09-28 14:00:25

DOMAPI

2010-09-28 10:03:15

DOM文檔對象模型

2012-04-26 08:29:22

DOM

2010-09-28 13:24:34

DOM文檔對象模型

2010-09-28 10:40:32

HTML DOM

2010-09-28 09:49:49

DOM模型

2010-09-28 09:38:22

DOM模型

2010-09-28 10:24:50

HTML DOMXML DOM

2010-09-28 10:09:35

DOM對象模型

2010-09-28 15:27:09

JavaScript

2010-09-28 08:54:49

JavascriptDOM

2021-09-09 10:26:26

Javascript 文檔對象前端

2012-06-27 09:44:28

ibmdw

2010-08-25 14:26:09

CSSdisplay

2010-09-13 14:24:17

JavaScript

2010-08-30 08:41:43

DIV顯示DIV隱藏

2011-03-07 13:27:13

SQLCase

2010-09-28 09:33:25

DOM模型

2009-09-10 17:44:36

DOM模型INQ模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久九九 | 中文字幕福利 | 黄网站在线播放 | 人人草人人干 | 91成人精品| 免费在线观看一区二区 | 久久久久久久久久久久一区二区 | 久久亚洲精品国产精品紫薇 | 欧美成人自拍视频 | 麻豆视频在线免费看 | 中文字幕一区二区三区在线视频 | 成人影院网站ww555久久精品 | 午夜视频精品 | 日韩一区二区三区四区五区六区 | 国产视频久 | 欧美激情久久久 | www国产成人免费观看视频,深夜成人网 | 大香在线伊779 | 理伦毛片 | 91久久精品 | 亚洲 精品 综合 精品 自拍 | 天天天天操 | 国产在线一区二区三区 | 欧美一级高潮片免费的 | 国产农村妇女精品一二区 | 久久久精品高清 | 国产精品久久久精品 | 99精品国产一区二区三区 | 国产精品99999999 | 精品无码久久久久久国产 | 一区二区在线不卡 | 亚洲视频中文字幕 | 91网在线观看| 理论片免费在线观看 | 国产精品2 | 精品一区二区久久久久久久网站 | 欧美激情一区 | 亚洲a一区二区 | 日韩成人| 成人免费视频观看 | 色综合久久久久 |