为了账号安全,请及时绑定邮箱和手机立即绑定

既然nodeName,nodeValue,nodeType都是这个节点的属性,为何用getAttribute('nodeName')获取不到

既然nodeName,nodeValue,nodeType都是这个节点的属性,为何用getAttribute('nodeName')获取不到

正在回答

3 回答

你们都理解错了。。举个例子

<p name="属性名称" id="属性id" value="属性值">文本文本</p>
//此处<p>是元素节点,name,id,value都是属性节点,而<p>和</p>之间的内容(文本文本)是文本节点
//<p>的nodeName是p,nodeValue是null或者undefined,nodeType是1;
//name的nodeName是name,nodeValue是"属性名称",nodeType是2;同理id,value都是
//而"文本文本"的nodeName是#text,nodeValue是  文本文本,nodeType是3;
getAttribute('这里是<p>节点的属性节点(例如name、id等)的名称'),返回的是此节点的value值!!


1 回复 有任何疑惑可以回复我~

楼上在说绕口令呐。。

很简单,使用getAttribute的时候获取的是元素节点已经设定的属性的值,就像前面getAttribute的练习中,其中一个li没有设置title属性则获取的结果就是空的,它获取不到默认的属性值

0 回复 有任何疑惑可以回复我~

nodeName,nodeValue,nodeType确实是节点属性,

但是getAttribute('nodeName')获取的是此节点的元素节点,是不同的,

举个例子<p nodeName="#text" id="ptest"></p>,这时候使用document.getElementById('ptest').getAttribute('nodeName') 才能获取到值,值为多少相信你已经懂了。


0 回复 有任何疑惑可以回复我~
#1

zeusGOGOGO

但是getAttribute('nodeName')获取的是此节点的元素节点,改为属性节点。
2016-01-26 回复 有任何疑惑可以回复我~
#2

zeusGOGOGO

其实也就是就是节点的属性跟属性节点的区别
2016-01-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

既然nodeName,nodeValue,nodeType都是这个节点的属性,为何用getAttribute('nodeName')获取不到

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信