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

x&&x.nodeType!=1  

这句话是什么意思?

写成x.nodeType!=1 不行吗?

正在回答

3 回答

x&&x.nodeType!=1和x.nodeType&&x!=1 这还是没明白什么意思,换了下位置运行结果就不一样了,x.nodeType!=1好理解x&&x.nodeType!=1理解不了。。。。

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

2楼说的 提醒我了

如果当前的节点x 已经是最后一个了  那么后面一个 节点就是null 

function get_nextSibling(n){     //参数n传入最后一个节点

     var x=n.nextSibing;           //这里的x被赋值为一个最后节点的兄弟节点(不存在了已经)

        while(x && x.nodeType!=1){    //所以这里x必须不为null


然后  

function get_previousSibling(n)

 也是一样道理吧?

 function get_previousSibling(n){   //如果是第一个节点传入

     var x=n.previousSibing;            //这个是的一个的前面一个(不存在)

        while(x && x.nodeType!=1){        //所以x不能是null


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

上面这中写法是为了判断x是否为真,增加一个循环条件,如果不加的话很可能会出现报错的想象。

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

悖论Beilun 提问者

x什么情况下会是假。。
2014-10-29 回复 有任何疑惑可以回复我~
#2

FBX622

你试试对x=document.getElementsByTagName("li")[5]调用get_nextSibling()。这里如果去掉x&&的话就不可以了。
2014-10-29 回复 有任何疑惑可以回复我~
#3

learn_more

nextSibling不是指向同一层次的下一个节点吗 那一个元素节点的下一个节点除了为空或者为元素节点 还有可能是什么
2014-11-09 回复 有任何疑惑可以回复我~
#4

puffbaby 回复 FBX622

等于就是溢出的概念么? nodeObject.nextSibling 如果无此节点,则该属性返回 null。所以当前的这个节点x 不能是null
2015-01-10 回复 有任何疑惑可以回复我~
查看1条回复

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信