溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

html中DOM模型基礎(chǔ)知識(shí)介紹

發(fā)布時(shí)間:2020-06-04 14:53:59 來源:億速云 閱讀:330 作者:Leah 欄目:web開發(fā)

html中的DOM模型是什么?針對(duì)這個(gè)問題,今天小編總結(jié)這篇有關(guān)DOM模型的文章,可供感興趣的小伙伴們參考借鑒,希望對(duì)大家有所幫助。

一   DOM是什么

DOM是HTML和XML文檔的編程接口。它不同于把html源碼在瀏覽器窗口當(dāng)做頁面或使用文本編輯器當(dāng)做純文本展示,它是對(duì)文檔的另一種結(jié)構(gòu)化的表述。DOM把文檔的所有節(jié)點(diǎn)都解析為一個(gè)對(duì)象,并提供了一些屬性和方法來描述它們。

DOM是W3C的標(biāo)準(zhǔn)。它被分為3個(gè)部分:

核心DOM:針對(duì)任何結(jié)構(gòu)化文檔的標(biāo)準(zhǔn)模型
XML DOM:針對(duì)XML文檔的標(biāo)準(zhǔn)模型
HTML DOM:針對(duì)HTML文檔的標(biāo)準(zhǔn)模型

DOM不是一種編程語言,它是一種標(biāo)準(zhǔn),一個(gè)模型,它與編程語言相對(duì)獨(dú)立。編程語言都可以按照這種模型實(shí)現(xiàn)對(duì)文檔的訪問和處理。

注:因?yàn)槲覀冎饕菍W(xué)習(xí)WEB編程,所以接下來文章中即將提到的DOM均指HTML DOM,使用到的DOM API也均是JavaScript腳本語言實(shí)現(xiàn)。

二       DOM的訪問

我們知道,各個(gè)瀏覽器對(duì)JavaScript都有不同的實(shí)現(xiàn),所以它們?cè)趯?shí)現(xiàn)DOM標(biāo)準(zhǔn)時(shí),也會(huì)有一些差異,但它們既然都遵循了該標(biāo)準(zhǔn),所以又呈現(xiàn)出了不同程度一致性。所以我們?cè)谑褂肈OM時(shí),并不需要做任何特別的操作,如果碰到有差異的地方(主要體現(xiàn)在方法名稱和參數(shù)上),只需根據(jù)不同瀏覽器使用他們各自實(shí)現(xiàn)的相關(guān)方法即可。實(shí)際上他們的實(shí)現(xiàn)都遵循了統(tǒng)一標(biāo)準(zhǔn)。

DOM把文檔視做樹結(jié)構(gòu):

整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)

每個(gè) HTML 標(biāo)簽是一個(gè)元素節(jié)點(diǎn)

包含在 HTML 元素中的文本是文本節(jié)點(diǎn)

每一個(gè) HTML 屬性是一個(gè)屬性節(jié)點(diǎn)

注釋屬于注釋節(jié)點(diǎn)

html中DOM模型基礎(chǔ)知識(shí)介紹

通過這個(gè)節(jié)點(diǎn)樹,JavaScript可以輕松的訪問并操作這些節(jié)點(diǎn)。

三      DOM節(jié)點(diǎn)類型

每個(gè)節(jié)點(diǎn)對(duì)象有都有一個(gè)nodeType,nodeName和nodeValue屬性,通過這幾個(gè)屬性的值,我們可以獲取該節(jié)點(diǎn)的相關(guān)信息:

| 節(jié)點(diǎn)類型 | nodeName 返回 | nodeValue 返回 |
| 1 | Element | 元素名 | null |
| 2 | Attr | 屬性名稱 | 屬性值 |
| 3 | Text | #text | 節(jié)點(diǎn)的內(nèi)容 |
| 4 | CDATASection | #cdata-section | 節(jié)點(diǎn)的內(nèi)容 |
| 5 | EntityReference | 實(shí)體引用名稱 | null |
| 6 | Entity | 實(shí)體名稱 | null |
| 7 | ProcessingInstruction | target | 節(jié)點(diǎn)的內(nèi)容 |
| 8 | Comment | #comment | 注釋文本 |
| 9 | Document | #document | null |
| 10 | DocumentType | 文檔類型名稱 | null |
| 11 | DocumentFragment | #document 片段 | null |
| 12 | Notation | 符號(hào)名稱 | null |

四   DOM分級(jí)

一級(jí)DOM

1級(jí)DOM在1998年10月份成為W3C的提議,由DOM核心與DOM HTML兩個(gè)模塊組成。DOM核心能映射以XML為基礎(chǔ)的文檔結(jié)構(gòu),允許獲取和操作文檔的任意部分。DOM HTML通過添加HTML專用的對(duì)象與函數(shù)對(duì)DOM核心進(jìn)行了擴(kuò)展。

二級(jí)DOM

2級(jí)DOM在一級(jí)DOM的基礎(chǔ)上進(jìn)行了擴(kuò)展,它引進(jìn)了幾個(gè)新DOM模塊來處理新的接口類型:

DOM視圖:描述跟蹤一個(gè)文檔的各種視圖(使用CSS樣式設(shè)計(jì)文檔前后)的接口;

DOM事件:描述事件接口;

DOM樣式:描述處理基于CSS樣式的接口;

DOM遍歷與范圍:描述遍歷和操作文檔樹的接口;

三級(jí)DOM

3級(jí)DOM通過引入統(tǒng)一方式載入和保存文檔和文檔驗(yàn)證方法對(duì)DOM進(jìn)行進(jìn)一步擴(kuò)展,DOM3包含一個(gè)名為“DOM載入與保存”的新模塊,DOM核心擴(kuò)展后可支持XML1.0的所有內(nèi)容,包括XML Infoset、 XPath、和XML Base。

看完上述內(nèi)容,你們對(duì)html中的DOM模型有進(jìn)一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI