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