为了账号安全,请及时绑定邮箱和手机立即绑定

文本节点的值的问题?

第一个节点:javascript

第1个节点的名称是:#text
第1个节点的类型是:3
第1个节点的值是:  javascript    

第三个节点(p是第二个节点):<p>javascript</p>

第3个节点的名称是:#text
第3个节点的类型是:3
第3个节点的值是: 

为什么第三个节点没有输出值value

正在回答

4 回答

来来来,我们来好好理解一下哈。

首先理解父节点和子节点的概念。子节点是父节点所包含的,父节点下一级的节点。也就是说,父节点下还可能有下两级的节点哦,但是那不是父节点的子节点,而是父节点的“孙节点”

看代码:

<div>
  javascript  
  <p>javascript</p>
  <div>jQuery</div>
  <h5>PHP</h5>
</div>

先不管什么空白节点,看着代码,我们来数一数div下面有几个子节点:javascript是文本节点,第一个。p标签是第二个,div是第三个,h5是第四个子节点。ok,子节点是4,然后我们运行代码,假设你代码都对了,出来的结果是几个子节点呢?7个!

所以还有3个是什么呢?是浏览器认为的,在节点之间存在的文字节点!因为节点之间没有内容,所以才是空白的,称之为空白节点!

看代码:

<div>
  javascript  
  <p>javascript</p> //这里存在空白节点,位于节点p和div之间,第三个子节点
  <div>jQuery</div> //这里存在空白节点,位于节点div和h5之间,第五个子节点
  <h5>PHP</h5>     //这里存在空白节点,位于节点h5和div之间,第七个子节点。子节点和父节点之间也存在空白节点。
</div>

一共是3个空白节点,那么为啥开头的div和javascript之间没有空白节点呢?因为javascript本身就是文本节点,在这里充当了div和p标签之间的”空白节点“,但是它不是空白的呦,是有值的文本节点。

也就是说,关键不是空白节点,而是文本节点,浏览器认为在节点之间必须存在文本节点,如果没有就给你加上空白节点!如果有就不加了

回到你的问题,为啥Value没有值?它是空白节点哦,怎么有值?而只有第一个节点javascript是有值的

不要把第三 第五 第七 节点理解为p div h5标签中的文本哦,那个也是文本节点,但是是”孙节点“ ,是子节点的子节点。 

16 回复 有任何疑惑可以回复我~
#1

进击君

空白节点的产生是节点之间的空白符造成的。如果两个节点紧挨着,就不存在空白节点了哦 比如<ul><p>123</P></ul>,标签之间没有任何的空格和换行,那就不存在空白节点。
2016-12-08 回复 有任何疑惑可以回复我~
#2

慕九州4739172 提问者

同学一席话胜读十年书啊!佩服佩服感谢感谢
2016-12-08 回复 有任何疑惑可以回复我~
#3

Joanna

厉害了!
2017-02-01 回复 有任何疑惑可以回复我~

谢谢,

0 回复 有任何疑惑可以回复我~

这个答案让我明白了什么是空白节点。赞。

0 回复 有任何疑惑可以回复我~

解答的很清楚

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

文本节点的值的问题?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信