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

大神请看看

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

提问者:Trunks 2015-06-21 08:28

个回答

  • 不断滴自我催眠
    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>')
       }