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

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

Eason_Mar

2016-03-11 17:25

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

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

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

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

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

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

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

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

写回答 关注

1回答

  • 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="" 

    ry8364...

    三个元素节点,4个文本节点

    2016-03-27 15:11:16

    共 2 条回复 >

JavaScript进阶篇

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

467395 学习 · 21877 问题

查看课程

相似问题