成功唯有积累
2016-12-18 19:27
//前一个节点
function get_previousSibling(n){
var a=n.previousSibling;
while (a && a.nodeType!=1){
a=n.previousSibling;
}
return a;
}
var a = document.getElementsByTagName("li")[4];
document.write(a.nodeName);
document.write(" = ");
document.write(a.innerHTML);
var b = get_previousSibling(a);
if(b!=null){
document.write("<br />presibling: ");
document.write(b.nodeName);
document.write(" = ");
document.write(b.innerHTML+'<br>');
}
卡了一般都是你代码死循环 导致浏览器崩溃了
你代码唯一能崩溃的就是 while那里的循环
while (a && a.nodeType!=1){
a=n.previousSibling;
}
只要a且a的类型不为1的时候
a等于n的上一个节点
只要满足 只要a且a的类型不为1的时候 这里a就一直等于n的上一个节点
死循环了
正确的是
while (a && a.nodeType!=1){
a=a.previousSibling;
}
只要满足 只要a且a的类型不为1的时候 这里a就一直等于a的上一个节点
a就一直向上跳 直到找到类型不为1 或者a不存在的的时候就停止了
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题