问答详情
源自:10-1 编程挑战

li选项卡,系统代码怎么知道我点击的是哪个选项卡?

li选项卡,假如我点击第二个选项卡,怎么知道我点的是第二个选项卡?

提问者:淋雨明天 2018-12-31 10:11

个回答

  • 小小小小小鲸鱼
    2019-04-29 17:33:13

    1 最外层的循环,在加载的时候会循环完毕,最后i就变成了3,所以需要一个变量,来保存i;

    2  oLis[i].onclick 在外层for循环时,给每个oLis[i]加上了点击事件.然后它的使命就此结束,不是你点击第几个li,i就会变成相对应的数字,这时候你再想获取下标,就只能从index中取了.

    也不知道我表达清楚没,我的理解大概是这样哈,有异议大家再一起交流,一起进步!

  • qq_慕少2504550
    2019-02-13 16:55:00

    你标记的那个代码,是给每一个li都添加了一个点击事件,知道你点击的是那个li,主要是下面的oDivs[this.index].className = "";因为你保存了 index ,所以它知道你点击的是那个li标签

  • qq_韦泽光_0
    2019-01-22 15:00:55

    你可以在html中定义onclick="choose(this)",然后在js里面写choose函数。this就把当前选中的节点传过去了

  • 淋雨明天
    2018-12-31 10:17:05

      for(var i= 0,len = oLis.length;i<len;i++){

                     oLis[i].index = i;

                     oLis[i].onclick = function() {  //这句假如我点了第二个选项卡,i就等于1吗?,这段代码不是在window.onload中加载只执行一次吗?我点击了他还会执行的?

                         for(var n= 0;n<len;n++){

                             oLis[n].className = "";

                             oDivs[n].className = "hide";

                         }

                         this.className = "on";

                         oDivs[this.index].className = "";

                     }

                 };