JavaScript取得節(jié)點(diǎn)類型、節(jié)點(diǎn)名稱和節(jié)點(diǎn)值
節(jié)點(diǎn)類型
DOM節(jié)點(diǎn)中,每個(gè)節(jié)點(diǎn)都有不同的型別。
W3C規(guī)範(fàn)中常用的DOM節(jié)點(diǎn)類型有以下幾種:
取得節(jié)點(diǎn)類型的語(yǔ)法:
? ? nodeObject.nodeType
其中,nodeObject 為DOM節(jié)點(diǎn)(節(jié)點(diǎn)物件)。此屬性傳回以數(shù)字表示的節(jié)點(diǎn)類型,例如,元素節(jié)點(diǎn)傳回 1,屬性節(jié)點(diǎn)傳回 2 。
例如,取得id="demo"的<div>標(biāo)籤的節(jié)點(diǎn)類型:
document.getElementById("demo").nodeType;
該語(yǔ)句的傳回值為 1 。
舉例,取得元素節(jié)點(diǎn)與文字節(jié)點(diǎn)的型別值:<div id="demo1">點(diǎn)選這裡顯示節(jié)點(diǎn)類別
<div id="demo1">點(diǎn)擊這里顯示節(jié)點(diǎn)類型</div> <script type="text/javascript"> document.getElementById("demo1").onclick=function(){ var divType=this.nodeType; var textType=this.firstChild.nodeType; // this 指當(dāng)前發(fā)生事件的HTML元素,這里是<div>標(biāo)簽 alert( "<div>標(biāo)簽的節(jié)點(diǎn)類型是:"+divType+"\n"+ "<div>標(biāo)簽內(nèi)部文本的節(jié)點(diǎn)類型是:"+textType ); } </script>
請(qǐng)看示範(fàn):
節(jié)點(diǎn)名稱
節(jié)點(diǎn)名稱就是DOM節(jié)點(diǎn)的名字,不同類型的節(jié)點(diǎn)對(duì)應(yīng)不同的節(jié)點(diǎn)名稱。
取得節(jié)點(diǎn)名稱的語(yǔ)法:
nodeObject.nodeName
其中,nodeObject 為DOM節(jié)點(diǎn)(節(jié)點(diǎn)物件)。
例如,取得id="demo"的<div>標(biāo)籤的節(jié)點(diǎn)名稱:
document.getElementById("demo").nodeName;
該語(yǔ)句的傳回值為 DIV 。
舉例,取得元素節(jié)點(diǎn)名稱、文字節(jié)點(diǎn)名稱和文件節(jié)點(diǎn)名稱:
<div id="demo2">點(diǎn)擊這里顯示節(jié)點(diǎn)名稱</div> <script type="text/javascript"> document.getElementById("demo2").onclick=function(){ var divName=this.nodeName; var textName=this.firstChild.nodeName; // this 指當(dāng)前發(fā)生事件的HTML元素,這里是<div>標(biāo)簽 var documentName=document.nodeName alert( "<div>標(biāo)簽的節(jié)點(diǎn)名稱是:"+divName+"\n"+ "<div>標(biāo)簽內(nèi)部文本的節(jié)點(diǎn)名稱是:"+textName+"\n"+ "文檔節(jié)點(diǎn)的節(jié)點(diǎn)名稱是:"+documentName ); } </script>
節(jié)點(diǎn)值
對(duì)於文字節(jié)點(diǎn),節(jié)點(diǎn)值為文字內(nèi)容;對(duì)於屬性節(jié)點(diǎn),節(jié)點(diǎn)值為屬性的值。
節(jié)點(diǎn)值對(duì)於文件節(jié)點(diǎn)和元素節(jié)點(diǎn)是不可用的。
取得節(jié)點(diǎn)值的語(yǔ)法:
? ?
nodeObject.nodeValue
其中,nodeObject 為DOM節(jié)點(diǎn)(節(jié)點(diǎn)物件)。
舉例,取得文字節(jié)點(diǎn)的節(jié)點(diǎn)值:
<div id="demo3">點(diǎn)擊這里顯示文本節(jié)點(diǎn)的值</div> <script type="text/javascript"> document.getElementById("demo3").onclick=function(){ alert(this.firstChild.nodeValue); // this 指當(dāng)前發(fā)生事件的HTML元素,這里是<div>標(biāo)簽 } </script>