问答详情
源自:9-11 访问兄弟节点

循环的问题

请看第21行,这里我并没有把循环条件加上x&&,也就是说并不判断是否有这个节点,那么问题来了,

像第30行,我要找第1个节点的兄弟节点,肯定找不到啊,所以就会不断执行while循环,造成死循环.

可是为什么运行正常呢?

提问者:暮女神 2017-04-24 10:52

个回答

  • weibo_和谐_汉子_0
    2017-04-26 10:44:57
    已采纳

    我测试了一下没有运行正常,

     var y=get_previousSibling(x);

        document.write(y.nodeName+":"+y.innerHTML);

    上面两行代码没有运行啊。

     x=document.getElementsByTagName("li")[0];

        document.write(x.nodeName+":"+x.innerHTML+"<br/>");

    再上面两行代码能运行,是因为get_previousSibling(n)的函数在上面两行代码后面才执行,是 var y=get_previousSibling(x);这行代码去调用了才开始执行的。函数没有调用不会自动执行。