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

为什么文本节点的值为空?

为什么除了第一个出现了javascript,后面都是空白?

子节点名称为:#text
子节点值为: javascript 
子节点类型为:3

子节点名称为:P
子节点值为:null
子节点类型为:1

子节点名称为:#text
子节点值为: 
子节点类型为:3

子节点名称为:DIV
子节点值为:null
子节点类型为:1

子节点名称为:#text
子节点值为: 
子节点类型为:3

子节点名称为:H5
子节点值为:null
子节点类型为:1

子节点名称为:#text
子节点值为: 
子节点类型为:3

提问者:Eason_Mar 2016-03-11 17:25

个回答

  • UncleKeith
    2016-03-11 20:14:08
    已采纳

    除了IE之外,其他浏览器在检测childNodes属性时,都会输出7个节点。

    另外,当循环到第二个节点时,该节点为属性节点<p></p>。属性节点的文本节点为null.  可以检测一下console.log(typeof undefined ==null)  //返回true .  但是浏览器都输出文本节点的属性为null .

    当循环到第三个节点时,该节点为文本节点 #text.其实就是<div>与</p>那个空白区域(因为你敲了回车键,产生了空白区域) 那空白区域的文本属性nodeValue当然等于空。

    以此类推 ,body里面就有三个属性节点 ,   四个文本节点,其中有一个的nodevalue=javascript  其他三个的nodeValue=""