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

来源:9-11 访问兄弟节点

Tang小溪

2016-05-16 19:47

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

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

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

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

 

写回答 关注

2回答

  • 慕娘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   并不会有循环的效果

    知道区别了吧、、


    Tang小溪

    非常感谢!讲的很明白,很透彻!谢谢兄弟

    2016-05-16 21:22:18

    共 1 条回复 >

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

    还是不太懂啊


JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468195 学习 · 21891 问题

查看课程

相似问题