Javascript入门学习第八篇 js dom节点属性说明第1/2页

时间:2021-05-26


今天我们讲DOM属性。
前面其实我们已经碰过DOM属性了。
比如:
nodeName,nodeType…..今天我们详细的讲解下。


1,nodeName属性:节点的名字。
如果节点是元素节点,那么返回这个元素的名字。此时,相当于tagName属性。
比如:
<p>aaaa</p>:则返回p;
如果是属性节点,nodeName将返回这个属性的名字。
如果是文本节点,nodeName将返回一个#text的字符串。

另外我要说的是:nodeName属性是一个只读属性,不能进行设置.(写)
它返回大写字母的值。

2,,nodeType属性:返回一个整数,代表这个节点的类型。
我们常用的3中类型:
nodeType==1:元素节点
nodeType==2:属性节点
nodeType==3:文本节点
如果想记住的话,我们可以这么去记:
比如:<ptitle="cssrain">test</p>从前往后读:你会发现先是元素节点(1),然后是属性节点(2),最后是文本节点(3),这样你就很容易记住了nodeType分别代表什么类型了。(我总结的一点小技巧,^_^。)

nodeType属性经常跟if配合使用,以确保不会在错误的节点类型上执行错误的操作。
比如:
functioncs_demo(mynode){
if(mynode.nodeType==1){
mynode.setAttribute("title","demo");
}
}
代码解释:先检查mynode的nodeType属性,以确保它所代表的节点确实是一个元素节点。
和nodeName属性一样,他也是只读属性,不能进行设置.(写)。

3,nodeValue属性:返回一个字符串,这个节点的值。
如果节点是元素节点,那么返回null;(注意下)
如果是属性节点,nodeValue将返回这个属性的值。
如果是文本节点,nodeValue将返回这个文本节点的内容。
比如:
<divid="c">aaaaaaaaaaaaaaaa</div>
<SCRIPTLANGUAGE="JavaScript">
varc=document.getElementById("c");
alert(c.nodeValue);//返回null
</SCRIPT>
nodeValue是一个可以读、写的属性。但它不能设置元素节点的值。
再看看下面的例子:
<divid="c">aaaaaaaaaaaaaaaa</div>
<SCRIPTLANGUAGE="JavaScript">
varc=document.getElementById("c");
c.nodeValue="dddddddddddd";//不能设置
//alert(c.firstChild.nodeValue)//元素节点包括属性节点和文本节点。
c.firstChild.nodeValue="test"//能设置
</SCRIPT>
当然我们为了确保能正确运行:可以加一段代码:
<divid="c">aaaaaaaaaaaaaaaa</div>
<SCRIPTLANGUAGE="JavaScript">
varc=document.getElementById("c");
c.nodeValue="dddddddddddd";//不能设置
//alert(c.firstChild.nodeValue)
if(c.firstChild.nodeType==3){//判断是不是文本节点
c.firstChild.nodeValue="test"//能设置
}
</SCRIPT>
//可以看出,如果要设置元素节点,不能直接设置,而必须先使用firstChild或者lastChild等然后设置nodeValue.
nodeValue一般只用来设置文本节点的值。如果要刷新属性节点的值,一般使用setAttribute().
12下一页阅读全文

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章