Javascript & DHTML DOM基礎(chǔ)和基本API第2/5頁
更新時間:2008年07月03日 20:58:05 作者:
DOM是文檔對象模型(Document Object Model,是基于瀏覽器編程(在本教程中,可以說就是DHTML編程)的一套API接口,W3C出臺的推薦標(biāo)準(zhǔn),每個瀏覽器都有一些細(xì)微的差別,其中以Mozilla的瀏覽器最與標(biāo)準(zhǔn)接近。
二、DOM樹
要注意:DOM樹的根統(tǒng)一為文檔根—document,DOM既然是樹狀結(jié)構(gòu),那么他們自然有如下的幾種關(guān)系:
根結(jié)點(diǎn)(document)
父結(jié)點(diǎn)(parentNode)
子結(jié)點(diǎn)(childNodes)
兄弟結(jié)點(diǎn) 兄弟結(jié)點(diǎn)
(sibling) (sibling)
例子:
假設(shè)網(wǎng)頁的HTML如下
程序代碼
<html>
<head>
<title>never-online's website</title>
</head>
<body>
<div>tutorial of DHTML and javascript programming</div>
</body>
</html>
我們參照樹的概念,畫出該HTML文檔結(jié)構(gòu)的DOM樹:
html
body head
div title
文本 文本
從上面的圖示可以看出
html有兩個子結(jié)點(diǎn),而html就是這兩個子節(jié)點(diǎn)的父結(jié)點(diǎn)
head有節(jié)點(diǎn)title,title下有一個文本節(jié)點(diǎn)
doby下有節(jié)點(diǎn)div,div下有一個文本節(jié)點(diǎn)
三、操作DOM樹
開篇已經(jīng)說過,DHTML本質(zhì)就是操作DOM樹。如何操作它呢?
假設(shè)我要改變上面HTML文檔中div結(jié)點(diǎn)的文本,如何做?
程序代碼
<html>
<head>
<title>never-online's website</title>
<script>
function changedivText (strText) {
var nodeRoot = document; //這個是根結(jié)點(diǎn)
var nodeHTML = nodeRoot.childNodes[0]; //這個是html結(jié)點(diǎn)
var nodeBody = nodeHTML.childNodes[1]; //body結(jié)點(diǎn)
var nodeDiv = nodeBody.childNodes[0]; //DIV結(jié)點(diǎn)
var nodeText = nodeDiv.childNodes[0];//文本結(jié)點(diǎn)'
nodeText.data = strText; //文本節(jié)點(diǎn)有data這個屬性,因此我們可以改變這個屬性,也就成功的操作了DOM樹中的一個結(jié)點(diǎn)了
}
</script>
</head>
<body>
<div>tutorial of DHTML and javascript programming</div>
<input onclick="changedivText('change?')" type="button" value="change"/>
</body>
</html>
從上面的示例可以看出,我們可以用上面的這種方法操作DOM樹上的任一節(jié)點(diǎn)。(注:1. 跨域除外,跨域通常是在操作frame上,簡單的說,就是兩個frame不屬于同一域名。2.上面的操作為了演示,采用的方法是從根結(jié)點(diǎn)一直到文本結(jié)點(diǎn)的遍歷,在DOM方法上,有更簡潔的方法,這些以后會有更多示例加以說明,下文中也會有介紹)
相關(guān)文章
JS中的THIS和WINDOW.EVENT.SRCELEMENT詳解
對于js初學(xué)著必須理解this和srcElement的應(yīng)用,這也是面試中經(jīng)常考到的。下面我們就通過幾個示例來詳細(xì)了解下2015-05-05
詳解javascript傳統(tǒng)方法實現(xiàn)異步校驗
這篇文章主要為大家介紹了javascript實現(xiàn)異步校驗的方法,感興趣的小伙伴們可以參考一下2016-01-01
js提示框替代系統(tǒng)alert,自動關(guān)閉alert對話框的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨s提示框替代系統(tǒng)alert,自動關(guān)閉alert對話框的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
JavaScript原生開發(fā)視頻播放器的實現(xiàn)代碼
這篇文章我們將一起探索一份自定義的視頻播放器實現(xiàn)代碼,甚至還可以實現(xiàn)有彈幕功能,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-06-06
mqtt.js?無法連接/錯誤提示?WebSocket?connection?to?‘ws://xxxxx‘?
這篇文章主要介紹了mqtt.js?無法連接/錯誤提示?WebSocket?connection?to?‘ws://xxxxx‘?failed:,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01

