DOM是一種結(jié)構(gòu)化對(duì)象模型提供了標(biāo)簽對(duì)象通用的訪(fǎng)問(wèn)方式,將HTML文件視為一個(gè)節(jié)點(diǎn)樹(shù),每一個(gè)標(biāo)簽和文字都是一個(gè)節(jié)點(diǎn),可以訪(fǎng)問(wèn)每個(gè)節(jié)點(diǎn)和節(jié)點(diǎn)內(nèi)容。
這樣我們就可以通過(guò)DOM提供給的方法、接口來(lái)訪(fǎng)問(wèn)HTML內(nèi)容,而不需要單個(gè)元素一個(gè)一個(gè)的查詢(xún)。
優(yōu)點(diǎn):
跨平臺(tái)和程序語(yǔ)言的程序接口
DOM提供應(yīng)用程序環(huán)境的一種標(biāo)準(zhǔn)程序處理接口,這是一種HTML和XML文件的標(biāo)準(zhǔn)API,可以再網(wǎng)絡(luò)上交換數(shù)據(jù)。
支持多種文件格式
支持多種程序語(yǔ)言
DOM提供了幾個(gè)屬性可以容易的訪(fǎng)問(wèn)樹(shù)結(jié)構(gòu)中的節(jié)點(diǎn)。如下

以parentNode、childNodes、previousSibling為例進(jìn)行說(shuō)明,看下面代碼
<html xmlns="http://www./1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無(wú)標(biāo)題文檔</title>
<script language="javascript">
//顯示當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)
function showParentNode()
{
//獲得當(dāng)前節(jié)點(diǎn)對(duì)象
var myObj=document.getElementById("lilongsheng");
//查找父節(jié)點(diǎn)
var parent=myObj.parentNode;
//顯示父節(jié)點(diǎn)名
alert(parent.nodeName);
}
//顯示孩子節(jié)點(diǎn)列表,返回類(lèi)型為NodeList
function showchild()
{
//獲得當(dāng)前節(jié)點(diǎn)對(duì)象
var myObj=document.getElementById("lilongsheng");
//查找節(jié)點(diǎn)的子節(jié)點(diǎn)列表
var child=myObj.childNodes;
//循環(huán)顯示子節(jié)點(diǎn)列表
for (var i=0;i<child.length;i++)
{
alert(child[i].nodeName);
}
}
//顯示下一個(gè)兄弟節(jié)點(diǎn)
function showSibling()
{
//獲得當(dāng)前節(jié)點(diǎn)對(duì)象
var myObj=document.getElementById("lilongsheng");
//查找下一個(gè)兄弟節(jié)點(diǎn)
var sibling=myObj.nextSibling;
//顯示
alert(sibling.nodeName);
}
</script>
</head>
<body>
<form>
<ul id="lilong">
<li id="lilongsheng">
<a href="#" >標(biāo)題1</a>
<a href="#" >標(biāo)題2</a>
<a href="#" >標(biāo)題3</a>
<a href="#" >標(biāo)題4</a>
</li>
<hr/>
</ul>
<input type="button" onclick="showParentNode()" value="獲取父標(biāo)簽名" />
<input type="button" onclick="showchild()" value="獲取子標(biāo)簽名" />
<input type="button" onclick="showSibling()" value="獲取兄弟標(biāo)簽名" />
</form>
</body>
</html>
分別單擊三個(gè)單選按鈕,可以獲得結(jié)果如下:
  
分別獲得當(dāng)前標(biāo)簽的父標(biāo)簽、子標(biāo)簽、兄弟標(biāo)簽,其余方法不再累述,可以使用這些簡(jiǎn)單的方法實(shí)現(xiàn)對(duì)DOM文檔模型里的元素進(jìn)行增、刪、改、查,操作DOM文檔。
待續(xù)……
|