HTML DOM

什么是DOM?
通過 JavaScript偏瓤,您可以重構(gòu)整個HTML文檔椰憋。您可以添加厅克、移除、改變或重排頁面上的項目橙依。要改變頁面的某個東西证舟,JavaScript就需要對HTML文檔中所有元素進行訪問的入口。這個入口窗骑,連同對HTML 元素進行添加女责、移動、改變或移除的方法和屬性创译,都是通過文檔對象模型來獲得的(DOM)抵知。在 1998 年,W3C 發(fā)布了第一級的 DOM 規(guī)范软族。這個規(guī)范允許訪問和操作 HTML 頁面中的每一個單獨的元素刷喜。所有的瀏覽器都執(zhí)行了這個標(biāo)準(zhǔn),因此立砸,DOM 的兼容性問題也幾乎難覓蹤影了掖疮。DOM 可被 JavaScript 用來讀取、改變 HTML颗祝、XHTML 以及 XML 文檔浊闪。
Node 層次
節(jié)點彼此都有等級關(guān)系。HTML 文檔中的所有節(jié)點組成了一個文檔樹(或節(jié)點樹)螺戳。HTML 文檔中的每個元素规揪、屬性、文本等都代表著樹中的一個節(jié)點温峭。樹起始于文檔節(jié)點,并由此繼續(xù)伸出枝條字支,直到處于這棵樹最低級別的所有文本節(jié)點為止凤藏。

下面這個圖片表示一個文檔樹(節(jié)點樹):

[圖片上傳失敗...(image-c5c31a-1514108580305)]

文檔樹(節(jié)點數(shù))
請看下面這個HTML文檔:

<html>  
  <head>  
    <title>DOM Tutorial</title>   
  </head>   
  <body>   
    <h1>DOM Lesson one</h1>   
    <p>Hello world!</p>   
  </body>   
</html>  

上面所有的節(jié)點彼此間都存在關(guān)系奸忽。除文檔節(jié)點之外的每個節(jié)點都有父節(jié)點。舉例揖庄,<head> 和 <body> 的父節(jié)點是 <html> 節(jié)點栗菜,文本節(jié)點 "Hello world!" 的父節(jié)點是 <p> 節(jié)點。大部分元素節(jié)點都有子節(jié)點蹄梢。比方說疙筹,<head> 節(jié)點有一個子節(jié)點:<title> 節(jié)點。<title> 節(jié)點也有一個子節(jié)點:文本節(jié)點 "DOM Tutorial"禁炒。當(dāng)節(jié)點分享同一個父節(jié)點時而咆,它們就是同輩(同級節(jié)點)。比方說幕袱,<h1> 和 <p>是同輩暴备,因為它們的父節(jié)點均是 <body> 節(jié)點。節(jié)點也可以擁有后代们豌,后代指某個節(jié)點的所有子節(jié)點涯捻,或者這些子節(jié)點的子節(jié)點,以此類推望迎。比方說障癌,所有的文本節(jié)點都是 <html>節(jié)點的后代,而第一個文本節(jié)點是 <head> 節(jié)點的后代辩尊。節(jié)點也可以擁有先輩涛浙。先輩是某個節(jié)點的父節(jié)點,或者父節(jié)點的父節(jié)點对省,以此類推蝗拿。比方說,所有的文本節(jié)點都可把 <html> 節(jié)點作為先輩節(jié)點蒿涎。

通過 JavaScript哀托,您可以重構(gòu)整個 HTML 文檔。您可以添加劳秋、移除仓手、改變或重排頁面上的項目。
要改變頁面的某個東西玻淑,JavaScript 就需要獲得對 HTML 文檔中所有元素進行訪問的入口嗽冒。這個入口,連同對 HTML 元素進行添加补履、移動添坊、改變或移除的方法和屬性,都是通過文檔對象模型來獲得的(DOM)箫锤。
Javascript主要是利用HTML DOM去獲得贬蛙、改變雨女、創(chuàng)建HTML元素,從而達到美化頁面阳准、操作頁面元素的目標(biāo)氛堕。因此,在Javascript中最常見的就是各種各樣的HTML DOM元素以及它們各自的屬性野蝇。除了這些DOM元素外讼稚,Javascript有自己的對象,例如數(shù)組绕沈。
簡單說锐想,可以認(rèn)為Javascript主要是操縱HTML DOM。兩者是不一樣的七冲。
Javascript是語言痛倚,DOM是可以在各種語言中(不僅js,php也有的)動態(tài)修改文檔的模型澜躺。

下面單獨拉出JavaScript與DOM的關(guān)系給大家詳解

JavaScript與瀏覽器的工作

1.瀏覽器獲取并加載你的頁面蝉稳,從上至下解析它的內(nèi)容。

遇到JavaScript時掘鄙,瀏覽器會解析代碼耘戚,檢查它的正確性,然后執(zhí)行代碼操漠。

瀏覽器還會建立一個HTML頁面的內(nèi)部模型(DOM)收津。

2.JavaScript繼續(xù)執(zhí)行,使用DOM檢查頁面浊伙、完成修改撞秋、從頁面接受事件,或者要求瀏覽器從Web服務(wù)器獲取其它數(shù)據(jù)嚣鄙。

JavaScript如何與頁面交互吻贿?

JavaScript是代碼,HTML是標(biāo)記哑子,完全不同的東西

怎么讓它們交互呢舅列?

答案是使用文檔對象模型(Docunment Object Model,簡稱DOM)卧蜓。

DOM的妙處在于:它能夠在所有瀏覽器上提供一種一致的方式帐要,通過代碼訪問HTML的結(jié)構(gòu)和內(nèi)容。

1弥奸、在瀏覽器加載一個頁面時榨惠,瀏覽器會解析HTML,并創(chuàng)建文檔的一個內(nèi)部模型,其中包含HTML標(biāo)記的所有元素冒冬。

2伸蚯、JavaScript可以與DOM交互(JavaScript使用DOM創(chuàng)建或刪除元素等等)

document是一個反映HTML的對象,通過調(diào)用document的方法改變DOM的狀態(tài)简烤,也就是改變HTML頁面

3、JavaScript修改了DOM時摇幻,瀏覽器會隨著動態(tài)更新頁面横侦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市绰姻,隨后出現(xiàn)的幾起案子枉侧,更是在濱河造成了極大的恐慌,老刑警劉巖狂芋,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件榨馁,死亡現(xiàn)場離奇詭異,居然都是意外死亡帜矾,警方通過查閱死者的電腦和手機翼虫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屡萤,“玉大人珍剑,你說我怎么就攤上這事∷缆剑” “怎么了招拙?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長措译。 經(jīng)常有香客問我别凤,道長,這世上最難降的妖魔是什么领虹? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任规哪,我火速辦了婚禮,結(jié)果婚禮上掠械,老公的妹妹穿的比我還像新娘由缆。我一直安慰自己,他們只是感情好猾蒂,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布均唉。 她就那樣靜靜地躺著,像睡著了一般肚菠。 火紅的嫁衣襯著肌膚如雪舔箭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音层扶,去河邊找鬼箫章。 笑死,一個胖子當(dāng)著我的面吹牛镜会,可吹牛的內(nèi)容都是我干的檬寂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼戳表,長吁一口氣:“原來是場噩夢啊……” “哼桶至!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起匾旭,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤镣屹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后价涝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體女蜈,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年色瘩,在試婚紗的時候發(fā)現(xiàn)自己被綠了伪窖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡泞遗,死狀恐怖惰许,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情史辙,我是刑警寧澤汹买,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站聊倔,受9級特大地震影響晦毙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耙蔑,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一见妒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧甸陌,春花似錦须揣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至牲尺,卻和暖如春卵酪,著一層夾襖步出監(jiān)牢的瞬間幌蚊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工溃卡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留溢豆,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓瘸羡,卻偏偏與公主長得像漩仙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子犹赖,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案讯赏? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,748評論 1 92
  • 警告請使用 document.write() 僅僅向文檔輸出寫內(nèi)容。如果在文檔已完成加載后執(zhí)行 document....
    hx永恒之戀閱讀 1,130評論 0 2
  • HTML DOM 定義了訪問和操作 HTML 文檔的標(biāo)準(zhǔn)冷尉。 什么是 HTML DOM? HTML DOM 是: H...
    亮亮叔家的小筆筆閱讀 4,839評論 1 5
  • 最近在學(xué)習(xí)javascript關(guān)于DOM的一些知識系枪,在這里對DOM做一些總結(jié)雀哨。 1.DOM簡介 DOM是W3C的標(biāo)...
    風(fēng)之郁少閱讀 373評論 0 5
  • 過了這么久
    紫凝羽希閱讀 329評論 0 0