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

关于this和index的问题

        

    // JS实现选项卡切换

     window.onload=function(){

     var tabs=document.getElementById("tabs");

     var li=document.getElementsByTagName("li");

     var div=tabs.getElementsByTagName("div");

     for(var i=0;i<li.length;i++){

         li[i].index=i;

         li[i].onclick=function(){

            for(var n=0;n<li.length;n++){

                li[n].className="";

                div[n].className="hide";

            } 

            this.className="on";

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

         }

     }

 }

this的用法到底是什么,这里指的是<li>吗,将i的值f赋给<li>的索引,最后是怎样和div索引绑定的??

提问者:慕田峪6011835 2017-03-02 20:38

个回答

  • 套子里的海怪
    2017-03-03 18:20:07
    已采纳

    li[i].index=i;  这里是自定义属性,给li循环添加了一个index,这个index可以命名(abc,sadfaf),只是习惯和方便阅读.

    代码 li[n].className=""; 是把所有li的className清空

    这里的this指的是你点击的对象,就是li,把点击的li的className变成'on';

    div[this.index]这里的this.index就是你点击的li身上的自定义索引值,0或1或2,比如点击第1个或第3个li  ,理解为div[0]   div[2]

  • 慕粉1440489053
    2017-03-29 05:15:02

    this在这里指向的是调用函数的对象

  • 慕粉1153155312
    2017-03-05 15:50:16

         li[i].index=i;  这段代码是什么意思啊,总觉得他可有可无,li[i]就可以找到对应的li啊??求解答