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

<h5>和<p>标签的nodeName为啥出来是“#text”

<h5>和<p>标签的nodeName为啥出来是“#text”http://img1.sycdn.imooc.com//589c29680001d66d05060369.jpg

正在回答

3 回答

id为con的div下有7个子节点,3个元素节点 p div h5 ,和4个文本节点

<div id="con">/*第一个*/
  <p>javascript</p>/*第二个
  */<div>jQuery</div>/*第三个
  */<h5>PHP</h5>/*第四个
</div>

所以题中x的firstChild为文本节点,lastChild也为文本节点,对于文本节点而言,它的nodeName就是#text

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

qq_MissingYou_0 提问者

不是显示 p或h5?
2017-02-09 回复 有任何疑惑可以回复我~
#2

qq_MissingYou_0 提问者

非常感谢!
2017-02-09 回复 有任何疑惑可以回复我~

元素节点的nodeName是元素名,文本节点的nodeName是#text。比如<p>javascript</p>就是一个元素节点,它的nodeName就是p。

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

qq_MissingYou_0 提问者

对呀 那div的第一个子节点就应该是p 为啥显示text
2017-02-09 回复 有任何疑惑可以回复我~
#2

qq_MissingYou_0 提问者 回复 qq_MissingYou_0 提问者

是不是浏览器的过 空白也算上?
2017-02-09 回复 有任何疑惑可以回复我~
#3

不知不觉后知后觉嗯 回复 qq_MissingYou_0 提问者

<div id="con">/*第一个*/ <p>javascript</p>/*第二个 */<div>jQuery</div>/*第三个 */<h5>PHP</h5>/*第四个 </div> div的第一个子节点是文本节点,它的第二个节点才是p元素节点,总的顺序就是 文本-元素-文本-元素-文本-元素-文本我起初回答的答案里面说了,你再琢磨琢磨0.0
2017-02-09 回复 有任何疑惑可以回复我~
#4

不知不觉后知后觉嗯 回复 qq_MissingYou_0 提问者

在firefox、chrome、opera、safari浏览器中空白的也算上,ie中就不算
2017-02-09 回复 有任何疑惑可以回复我~
#5

叶雪松 回复 不知不觉后知后觉嗯

我有点不明白了,在你的说法里面 第一个是text的原因是因为第一个是con而不是p?那为什么我看别的说法里面提到出现这种情况的原因是 空白节点 所以题目要求我们要把<p>移到上一行去。 那么div的第一个节点算不算 con这个
2017-02-22 回复 有任何疑惑可以回复我~
#6

不知不觉后知后觉嗯 回复 叶雪松

你没有理解我的意思,问题讨论的是id为con的div下的子节点。 第一个是文本节点,只不过它的内容为换行,没有文字,可能又叫空白节点,位置就在我的注释/*第一个*/这块。它算作一个文本节点是因为你在写代码时为了更清楚的格式,要敲出换行,就产生了文本节点。所以把<p>移上去的话就不用敲换行,也就不会出现文本节点,那么<p>就作为第一个了。
2017-02-22 回复 有任何疑惑可以回复我~
#7

叶雪松 回复 不知不觉后知后觉嗯

明白了,谢谢你!
2017-02-22 回复 有任何疑惑可以回复我~
#8

Snowbower 回复 不知不觉后知后觉嗯

文本节点的值是本身,为什么这几个文本节点都是nodeValue的值都是空白,难道他们都是换行空白节点吗?
2017-03-13 回复 有任何疑惑可以回复我~
查看5条回复

不是显示 p或h5?

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

举报

0/150
提交
取消

<h5>和<p>标签的nodeName为啥出来是“#text”

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