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

来源:9-7 节点属性

火星葱

2016-01-26 15:27

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

写回答 关注

3回答

  • gao634209276
    2016-03-08 22:56:13

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

    <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值!!


  • czdll
    2016-02-23 21:59:51

    楼上在说绕口令呐。。

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

  • zeusGOGOGO
    2016-01-26 15:55:55

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

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

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


    zeusGO...

    其实也就是就是节点的属性跟属性节点的区别

    2016-01-26 16:00:25

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题