Javascript入門學(xué)習(xí)第八篇 js dom節(jié)點(diǎn)屬性說明第1/2頁
2024-05-06 14:17:44
供稿:網(wǎng)友
今天我們講DOM屬性。
前面其實(shí)我們已經(jīng)碰過DOM屬性了。
比如:
nodeName,nodeType…..今天我們?cè)敿?xì)的講解下。
1,nodeName屬性 : 節(jié)點(diǎn)的名字。
如果節(jié)點(diǎn)是元素節(jié)點(diǎn),那么返回這個(gè)元素的名字。此時(shí),相當(dāng)于tagName屬性。
比如:
<p>aaaa</p> : 則返回 p ;
如果是屬性節(jié)點(diǎn),nodeName將返回這個(gè)屬性的名字。
如果是文本節(jié)點(diǎn),nodeName將返回一個(gè)#text的字符串。
另外我要說的是: nodeName屬性是一個(gè)只讀屬性,不能進(jìn)行設(shè)置.(寫)
它返回 大寫字母的值。
2,,nodeType屬性 : 返回一個(gè)整數(shù),代表這個(gè)節(jié)點(diǎn)的類型。
我們常用的3中類型:
nodeType == 1 : 元素節(jié)點(diǎn)
nodeType == 2 : 屬性節(jié)點(diǎn)
nodeType == 3 : 文本節(jié)點(diǎn)
如果想記住的話,我們可以這么去記:
比如: <p title="cssrain" >test</p> 從前往后讀: 你會(huì)發(fā)現(xiàn) 先是元素節(jié)點(diǎn)(1),然后是屬性節(jié)點(diǎn)(2),最后是文本節(jié)點(diǎn)(3),這樣你就很容易記住了 nodeType分別代表什么類型了。(我總結(jié)的一點(diǎn)小技巧, ^_^。)
nodeType屬性經(jīng)常跟 if 配合使用,以確保不會(huì)在錯(cuò)誤的節(jié)點(diǎn)類型上 執(zhí)行錯(cuò)誤的操作。
比如:
function cs_demo(mynode){
if(mynode.nodeType == 1){
mynode.setAttribute("title","demo");
}
}
代碼解釋: 先檢查mynode的nodeType屬性,以確保它所代表的節(jié)點(diǎn)確實(shí)是 一個(gè)元素節(jié)點(diǎn)。
和nodeName屬性一樣,他也是只讀屬性,不能進(jìn)行設(shè)置.(寫)。
3,nodeValue屬性 : 返回一個(gè)字符串,這個(gè)節(jié)點(diǎn)的值。
如果節(jié)點(diǎn)是元素節(jié)點(diǎn),那么返回null;(注意下)
如果是屬性節(jié)點(diǎn),nodeValue將返回這個(gè)屬性的值。
如果是文本節(jié)點(diǎn),nodeValue將返回這個(gè)文本節(jié)點(diǎn)的內(nèi)容。
比如:
<div id="c">aaaaaaaaaaaaaaaa</div>
<SCRIPT LANGUAGE="JavaScript">
var c= document.getElementById("c");
alert( c.nodeValue );//返回null
</SCRIPT>
nodeValue是一個(gè)可以讀、寫的屬性。 但它不能設(shè)置元素節(jié)點(diǎn)的值。
再看看下面的例子:
<div id="c">aaaaaaaaaaaaaaaa</div>
<SCRIPT LANGUAGE="JavaScript">
var c= document.getElementById("c");
c.nodeValue =" dddddddddddd"; //不能設(shè)置
//alert( c.firstChild.nodeValue ) //元素節(jié)點(diǎn) 包括屬性節(jié)點(diǎn)和文本節(jié)點(diǎn)。