关于this和index的问题

来源:10-1 编程挑战

慕田峪6011835

2017-03-02 20:38

        

    // 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索引绑定的??

写回答 关注

3回答

  • 套子里的海怪
    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]

    套子里的海怪 回复不会修电脑的...

    this 是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。

    2017-03-20 23:11:23

    共 4 条回复 >

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

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

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

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

    套子里的海怪

    作用域的问题,你到for循坏在外面是无法使用这儿的函数内部的i的。

    2017-03-06 14:16:48

    共 1 条回复 >

JavaScript进阶篇

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

468190 学习 · 21891 问题

查看课程

相似问题