课程
/前端开发
/JavaScript
/JavaScript进阶篇
我看示例代码,开始x = n.nextSibling;后来在while循环里 x=x.nextSibling又来一次,这样的话不是变成n的下一个的下一个了吗
2017-02-19
源自:JavaScript进阶篇 9-11
正在回答
function get_nextSibling(n){ var x=n.nextSibling; while (x && x.nodeType!=1){//当x存在且x不是元素节点时,会执行下面的循环语句 x=x.nextSibling;//满足上述条件,则继续查找下一个节点,直至找到nodeType值为1的元素节点,则继续执行函数,return x } return x; }
答案我写成标注了
var x=n.nextSibling;
while (x && x.nodeType!=1){
x=x.nextSibling;
}
return x;
是这里的是吧 while这里的第二个是只有在第一个nextSibling的节点不符合条件(要求为兄弟节点 比如说是#text就不是本例中的li的兄弟节点)不符合的时候才执行while里即第二个nextSibling 符合要求的话 会直接到return x
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
3 回答两次分割为什么不能连续进行,为什么在第一次分割之后要再次转换成字符串
1 回答连续两次的话,第二次为什么就没有对话框弹出来了呢?
3 回答为什么要设置两次setTimeout
2 回答为什么连续点了四次 才全部清除完?
1 回答连用两次indexOf