课程
/前端开发
/JavaScript
/JavaScript进阶篇
x&&x.nodeType!=1 这里为什么要加上x&& 不加的话,下面的代码就不运行了。但是教程左边的例子就没有加。 求解释。。
2016-06-12
源自:JavaScript进阶篇 9-11
正在回答
首先判断x是否为空,如果x为空的话 x.nodeType 调用就会异常。这应该编译器的保护机制
十二月晴朗 提问者
如果你是IE可以不加因为IE不存在null节点 如果是Firefox等就有null节点
浏览器问题,ie会将兄弟元素间的空白文本自动忽略,这就可以不加,兄弟节点之间的换行或空格都算空白文本。其他的浏览器如果不会忽略空白文本那就要先判断x是否是空白文本再判断类型,要不判断那上一个或下一个兄弟节点有可能会是空白文本,返回的就是空白文本的值,也就是空,那就不是我们想要的li里的值了。
小西瓜籽
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
3 回答访问兄弟节点代码中的nodeType!=1
3 回答访问兄弟节点?
2 回答访问兄弟节点
2 回答code--访问兄弟节点
3 回答课程理解,判断节点nodeType是否为1, 如是为元素节点,跳过。