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

求解求解求解

http://img1.sycdn.imooc.com//57ff54260001446303970131.jpg这句话是什么意思啊?求解

正在回答

2 回答

第一句话的意思是:其它浏览器中,会将我们写代码过程为了美化代码的时候,使用的缩进或者空格都会成为文档节点的一部分,所以,这个时候冒然使用nextSibling取得的可能是一个无效的值。这个问题应该在上一小节的parentNode之类的取得html/css课程并输出中可能会遇到,(如果你在写代码的时候用了格式化代码)

解决问题方法这里意思:因为浏览器会将空格或者缩进车当做一种文档节点,与其它的元素节点同属于一个父节点之下,这样我门需要通过循环找到不是空格或者缩进等部分的节点。

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

初心的小屋 提问者

那为什么说nodetype为1时跳过呢,应该是不为1的时候跳过吧
2016-10-14 回复 有任何疑惑可以回复我~
#2

无聊的名字4108528 回复 初心的小屋 提问者

while (x.nodeType!=1){ x=x.nextSibling; } 也就是说当节点类型为1的时候,才会跳出while循环
2016-10-14 回复 有任何疑惑可以回复我~
#3

无聊的名字4108528 回复 初心的小屋 提问者

我前面写的好像没了,。他这里应该是语言描述有问题,但他下面的代码是正确的,你看一下
2016-10-14 回复 有任何疑惑可以回复我~
#4

初心的小屋 提问者

非常感谢!
2016-10-14 回复 有任何疑惑可以回复我~
#5

折翼天使I 回复 初心的小屋 提问者

看你怎么理解跳过的意思了,当类型为1时,说明他就是一个元素,而不是文本之类的,那么就不用再用.nextsibling找下一个了,否则就继续找到类型为1的为止;
2016-10-27 回复 有任何疑惑可以回复我~
查看2条回复

<p></p>

<!--中间这些空白地方有些浏览器会当作是没有内容的文本节点-->

<p></p>

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

举报

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

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

进入课程

求解求解求解

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