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

对于this和index的运用

    window.onload=function(){

        var oul1=document.getElementById("ul1");

        var oli=oul1.getElementsByTagName("li")

        var odiv=document.getElementById("tab-list");

        var adiv=odiv.getElementsByTagName("div");

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

         oli[i].index=i;

         oli[i].onmouseover = function(){

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

               oli[n].className="";

               adiv[n].className="hide";

              }

              this.className="active";

              adiv[this.index].className="show";

            }

        }   

    

    }

上面的this.className,adiv[this.index]。index的用法

提问者:Elirc_pp 2015-03-03 15:29

个回答

  • 向学习者学习
    2017-07-19 10:34:16

     从其他地方的大大那里复制过来的

    作为构造函数调用

    所谓构造函数,就是通过这个函数生成一个新对象(object)。这时,!!!this就指这个新对象。!!!

      function test(){

        this.x = 1;

      }

      var o = new test();

      alert(o.x); // 1

    运行结果为1。为了表明这时this不是全局对象,我对代码做一些改变:

      var x = 2;

      function test(){

        this.x = 1;

      }

      var o = new test();

      alert(x); //2


  • core0
    2016-02-26 12:10:27

    oli[i].index=i;将li的索引值赋给i

    this.className="active";给当前li赋一个类名

  • 几_机
    2016-02-26 11:09:38

    首先 这个index并不一定就一定是index。只是你给oli[i]赋值的一个对象,他的值为i;

    对象属性的调用方法就是obj.index; 

    this指向触发事件的当前元素。

    口才不好 望采纳