W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
DOM 是 JavaScript 操作網頁的接口,全稱為“文檔對象模型”(Document Object Model)。它的作用是將網頁轉為一個 JavaScript 對象,從而可以用腳本進行各種操作(比如增刪內容)。
瀏覽器會根據 DOM 模型,將結構化文檔(比如 HTML 和 XML)解析成一系列的節(jié)點,再由這些節(jié)點組成一個樹狀結構(DOM Tree)。所有的節(jié)點和最終的樹狀結構,都有規(guī)范的對外接口。
DOM 只是一個接口規(guī)范,可以用各種語言實現。所以嚴格地說,DOM 不是 JavaScript 語法的一部分,但是 DOM 操作是 JavaScript 最常見的任務,離開了 DOM,JavaScript 就無法控制網頁。另一方面,JavaScript 也是最常用于 DOM 操作的語言。后面介紹的就是 JavaScript 對 DOM 標準的實現和用法。
DOM 的最小組成單位叫做節(jié)點(node)。文檔的樹形結構(DOM 樹),就是由各種不同類型的節(jié)點組成。每個節(jié)點可以看作是文檔樹的一片葉子。
節(jié)點的類型有七種。
Document
:整個文檔樹的頂層節(jié)點DocumentType
:doctype
標簽(比如<!DOCTYPE html>
)Element
:網頁的各種HTML標簽(比如<body>
、<a>
等)Attr
:網頁元素的屬性(比如class="right"
)Text
:標簽之間或標簽包含的文本Comment
:注釋DocumentFragment
:文檔的片段
瀏覽器提供一個原生的節(jié)點對象Node
,上面這七種節(jié)點都繼承了Node
,因此具有一些共同的屬性和方法。
一個文檔的所有節(jié)點,按照所在的層級,可以抽象成一種樹狀結構。這種樹狀結構就是 DOM 樹。它有一個頂層節(jié)點,下一層都是頂層節(jié)點的子節(jié)點,然后子節(jié)點又有自己的子節(jié)點,就這樣層層衍生出一個金字塔結構,又像一棵樹。
瀏覽器原生提供document
節(jié)點,代表整個文檔。
document
// 整個文檔樹
文檔的第一層有兩個節(jié)點,第一個是文檔類型節(jié)點(<!doctype html>
),第二個是 HTML 網頁的頂層容器標簽<html>
。后者構成了樹結構的根節(jié)點(root node),其他 HTML 標簽節(jié)點都是它的下級節(jié)點。
除了根節(jié)點,其他節(jié)點都有三種層級關系。
DOM 提供操作接口,用來獲取這三種關系的節(jié)點。比如,子節(jié)點接口包括firstChild
(第一個子節(jié)點)和lastChild
(最后一個子節(jié)點)等屬性,同級節(jié)點接口包括nextSibling
(緊鄰在后的那個同級節(jié)點)和previousSibling
(緊鄰在前的那個同級節(jié)點)屬性。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: