慕斯6055237
2018-10-05 14:38
function get_previousSibling(n)
{
var x=n.previousSibling;
while (x && x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
主要是判断之前紧跟的节点是不是空,Internet Explorer 会忽略节点间生成的空白文本节点(例如,换行符号),而其它浏览器不会忽略,所以要判断一下。如果nodeType==1就说明是元素节点,就可返回x结束函数,如果不等于1就再向前找一个节点来跳过这个空白文本节点( x=x.previousSibling;)
while里面的条件x已经被赋值n.previousSibling,也就是说x为n节点的前一个节点,如果前面没有节点的话,就返回null,根据数据自动转换类型规则,x=null;null=false;所以x=false那么条件不成立,就不执行循环体内的代码了。我想后面的x.nodeType!=1你应该理解的吧。
你好,n.previousSibling中的previousSibling是什么意思
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题