什么是DOM
DOM的全稱是Document Object Model,即文檔對(duì)象模型,它允許腳本控制Web頁(yè)面、窗口和文檔。
如果沒(méi)有DOM,JavaScript將是另外一種腳本語(yǔ)言;而有了DOM,它將成為制作動(dòng)態(tài)頁(yè)面的強(qiáng)有力工具。DOM不是JavaScript語(yǔ)言的一部分,而是內(nèi)置在瀏覽器中的一個(gè)應(yīng)用程序接口。當(dāng)然,我們可以簡(jiǎn)單的理解為一種用于HTML和XML文檔的編程接口。它給文檔提供了一種結(jié)構(gòu)化的表示方法,可以改變文檔的內(nèi)容和呈現(xiàn)方式。
DOM(文檔對(duì)象模型)是一組用來(lái)描述腳本怎樣與結(jié)構(gòu)化文檔進(jìn)行交互和訪問(wèn)的web標(biāo)準(zhǔn)。他的功能是把瀏覽器支持的文檔(包括HTML XML XHTML)當(dāng)作一個(gè)對(duì)象來(lái)解析。DOM實(shí)際上是一個(gè)操作文檔里面所包含的內(nèi)容的一個(gè)編程的API,允許開(kāi)發(fā)人員從文檔中讀取、搜索、修改、增加和刪除數(shù)據(jù)。DOM是與平臺(tái)和語(yǔ)言無(wú)關(guān)的,也就是說(shuō)只要是支持DOM的平臺(tái)和編程語(yǔ)言,你都可以用來(lái)編寫(xiě)文檔。
DOM定義了一系列對(duì)象、方法和屬性,用于訪問(wèn)、操作和創(chuàng)建文檔中的內(nèi)容、結(jié)構(gòu)、樣式以及行為。每一個(gè)網(wǎng)頁(yè)元素(一個(gè)HTML標(biāo)簽)都對(duì)應(yīng)著一個(gè)對(duì)象(object,所謂“對(duì)象”,用白話說(shuō)就是“東西”。)。網(wǎng)頁(yè)上的標(biāo)簽是一層層嵌套的,最外面的一層是,文檔對(duì)象模型也這樣一層層嵌套著,但是通常被理解成一棵樹(shù)的形狀。樹(shù)根是window或document對(duì)象,相當(dāng)于最外層的標(biāo)簽的外圍,也就是整個(gè)文檔。樹(shù)根之下(這棵樹(shù)的圖通常是倒著畫(huà),就好像遺傳譜系或者家譜那樣。樹(shù)根就是唯一的共同祖先)是子一級(jí)的對(duì)象,子對(duì)象也有它自己的子對(duì)象,除了根對(duì)象以外,所有的對(duì)象都有自己的父對(duì)象,同一對(duì)象的子對(duì)象之間就是兄弟的關(guān)系。如果大家沒(méi)有見(jiàn)過(guò)家譜,應(yīng)該知道一個(gè)公司的組織架構(gòu)。
DOM實(shí)際上是以面向?qū)ο蠓绞矫枋龅奈臋n模型。DOM定義了表示和修改文檔所需的對(duì)象、這些對(duì)象的行為和屬性以及這些對(duì)象之間的關(guān)系。可以把DOM認(rèn)為是頁(yè)面上數(shù)據(jù)和結(jié)構(gòu)的一個(gè)樹(shù)形表示,不過(guò)頁(yè)面當(dāng)然可能并不是以這種樹(shù)的方式具體實(shí)現(xiàn)。通過(guò)JavaScript,可以重構(gòu)整個(gè) HTML 文檔。可以添加、移除、改變或重排頁(yè)面上的項(xiàng)目。
要改變頁(yè)面的某個(gè)東西,JavaScript 就需要獲得對(duì) HTML 文檔中所有元素進(jìn)行訪問(wèn)的入口。這個(gè)入口連同對(duì) HTML 元素進(jìn)行添加、移動(dòng)、改變或移除的方法和屬性,都是通過(guò)文檔對(duì)象模型來(lái)獲得的(DOM)。
DOM和JavaScript
我們用JavaScript對(duì)網(wǎng)頁(yè)進(jìn)行的所有操作都是通過(guò)DOM進(jìn)行的。如何訪問(wèn)DOM中的對(duì)象?
先是父對(duì)象名,后面接著是子對(duì)象名,使用圓點(diǎn)隔開(kāi)。
代碼如下:
window.document.write("hi!how are you!")
DOM操作Checkbox實(shí)例
代碼如下:
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com