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

9-11访问兄弟节点。这里为什么用while循环,而不用条件按判断?

  1. 在下愚钝,这段代码的‘函数部分’看了好久才看明白,也不知道理解的对不对,我说一下我理解的意思,请前辈指点:大意就是。

    首先:如果第一个<li>的兄弟标签的nodetype值不等于1,也就是不是标签,那么在选定下一个兄弟标签。我这么理解的对不对。

  2. 为什么用while循环语句,而不用条件判断语句if

http://img.mukewang.com/5739b1090001c25607010856.jpg

 

提问者:Tang小溪 2016-05-16 19:47

个回答

  • 慕娘9282524
    2016-05-16 20:30:47
    已采纳

    你理解的都对  就像你自己说的   while 是个循环  而 if  只是判断一次而已 

    while(x.nodetype!=1){

    x=x.nextSibling

    }  

    return  x ;

    这句的意思是 先判断 x的属性值 如果不等于1  就把x.nextSibling赋值给x  然后循环  再去判断 赋值后的x的属性值

    一直循环下  直到当x的属性值等于1时  然后才跳出循环  返回x的值。


    if(x.nodetype!=1){

    x=x.nextSibling

    }  

    return  x ;

    这里  if语句 只能判断一次  x.nodetype是不是等于1   并不会有循环的效果

    知道区别了吧、、


  • 刘刚刚
    2016-08-06 20:24:58

    还是不太懂啊