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

节点值的问题

http://img1.sycdn.imooc.com//57819f1c0001588607100450.jpg

1、3、5都是#text,为什么只有第一个有节点值JavaScript,3、5都没显示?

正在回答

4 回答

第一个节点本身就是javascript(本身文本内容,没有<p><h>等标签),所以它(文本)的值会是自身javacript。那么第3、5个节点是什么呢?是空白节点。第三个节点是</p>和第二个<div>之间的空白节点(可看做空白文本),所以它的值也是自身(空白文本),所以你会什么都看不到。同理第五个节点是</div>和<h5>之间的空白节点,它的值也是自身(空白文本)。

我说得已经很清楚了吧 :)

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

看不懂

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

具体看9-7节。

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

只有文本节点才有节点值。

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

啊啊啊啊123 提问者

我都说了1、3、5都是#text(文本节点的 nodeName 永远是 #text)你还说只有文本节点才有节点值。
2016-07-10 回复 有任何疑惑可以回复我~
#2

慕粉3591791

你知道</p>之后<div>之前有个文本节点么?也就是换行,你可以把这个代码copy到你的编辑器里面然后用ie浏览器测试就没有这个文本节点也就是你的第3,5个节点。
2016-07-10 回复 有任何疑惑可以回复我~
#3

CharlesLvm 回复 慕粉3591791

那么jquery、php这些文本自身去哪里了,怎么不显示。
2016-07-15 回复 有任何疑惑可以回复我~
#4

慕粉3591791 回复 CharlesLvm

这些包含在div,p,h5标签里面了,如果你读取第二个div的子节点那就可以得到一个文本节点。也就是说只能读取直系节点。
2016-07-16 回复 有任何疑惑可以回复我~
#5

CharlesLvm 回复 慕粉3591791

懂了谢谢
2016-07-19 回复 有任何疑惑可以回复我~
#6

慕粉3591791 回复 CharlesLvm

document.getElementsByTagName("div").childNode,是指div子元素的意思,不包含子元素的子元素。
2016-07-19 回复 有任何疑惑可以回复我~
查看3条回复

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468191    人
  • 解答问题       21891    个

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

进入课程

节点值的问题

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