问答详情
源自:9-8 访问子节点childNodes

childNodes为什么不包含属性节点?

一个元素下的子节点都包含什么?

提问者:StevenPenn 2015-10-19 21:53

个回答

  • bluefantasy728
    2016-04-02 03:26:02

    刚才在知乎上看到一个类似的问题和答案,https://www.zhihu.com/question/31977895

    不知道算不算解决了问题,属性居然不算节点了。。。

  • menghuanbaolei
    2015-10-19 23:31:14

    刚才去冲凉了,没看到:

    p确实有一个子节点,不过不是属性节点,而是文本节点,

    不过对于它的父元素来说,它确实是一个属性节点

    这是我调试的代码,你可以看一下:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    </head>
    <body>
    <p id="des">This is a test.</p>
    <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
    var s = document. getElementsByTagName('p')[0].nodeType;
    var text = document.getElementById('des').nodeType;
    console.log(s);
    console.log(text);
    </script>
    </body>
    </html>


  • menghuanbaolei
    2015-10-19 22:11:29

    1、childNodes为什么不包含属性节点?

    这要看你的子节点是否有属性(id,class);

    2、一个元素下的子节点都包含什么?

    这样你的元素下包含了什么,一般常用到的是元素、属性、文本、注释、文档节点

    建议你看DOM探索第二节的内容,里面有你想要的信息:下面是链接:

    http://www.imooc.com/learn/488