大神请看看

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

Trunks

2015-06-21 08:28

为什么第3个子节点,也就是p标签内面的“JavaScript”的名称和类型都能输出,而值却是空的?
写回答 关注

1回答

  • 不断滴自我催眠
    2015-06-21 09:26:48
    已采纳

    首先你要去了解一下 nodetype这个属性


    1    Element    代表元素    Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference    

    2    Attr    代表属性    Text, EntityReference    

    3    Text    代表元素或属性中的文本内容。    None    


    第一个之所以能打出nodevalue,那是因为它的类型是3 取的是div元素里的文本内容

    其他的不行,那是因为其他几个类型都是1,获取的是div下的各个子元素。

    你要打印元素内的内容可以如下两种方式

    1. //获取所有元素的内容,并打印
      for(var i=1;i<chi.length;i++){
        document.write("节点类型"+chi[i].firstChild.nodeName+chi[i].firstChild.nodeType+chi[i].firstChild.nodeValue+'<br>')
       }
    2. //获取元素信息,打印其内容
      for(var i=1;i<chi.length;i++){
        document.write("节点类型"+chi[i].nodeName+chi[i].nodeType+chi[i].firstChild.nodeValue+'<br>')
       }


    Trunks

    非常感谢!

    2015-06-23 20:10:30

    共 1 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题