求问为什么文本节点的值有的能显示出来,有的不能?

来源:9-8 访问子节点childNodes

Joanna

2017-02-01 19:33

运行结果如下:(为什么第2、4、6个节点的值为空白?)

javascript

javascript

jQuery

PHP

第0个子节点的名称:#text,值:   javascript    ,类型:3
第1个子节点的名称:P,值:null,类型:1
第2个子节点的名称:#text,值:   ,类型:3
第3个子节点的名称:DIV,值:null,类型:1
第4个子节点的名称:#text,值:   ,类型:3
第5个子节点的名称:H5,值:null,类型:1
第6个子节点的名称:#text,值: ,类型:3

写回答 关注

2回答

  • 不知不觉后知后觉嗯
    2017-02-09 21:40:04

    因为第3 5 7中的文本节点的内容为空,对于文本节点,nodeValue 返回的是文本节点中的内容,所以它为空。

    按照你的顺序,也就是第2 4 6个

  • Joanna
    2017-02-01 19:35:02

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>无标题文档</title>
    </head>
    <body>
    <div>
      javascript 
      <p>javascript</p>
      <div>jQuery</div>
      <h5>PHP</h5>
    </div>
    <script type="text/javascript">
     var cn=document.getElementsByTagName("div")[0].childNodes;
     var i;
     for(i=0;i<cn.length;i++){
        document.write("第"+i+"个子节点的名称:"+cn[i].nodeName+",值:"+cn[i].nodeValue+",类型:"+cn[i].nodeType+"</br>");
     }
     
    </script>
    </body>
    </html>


JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题