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

JS选项卡中为什么要index?

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

    title[i].index=i;  

    title[i].onmouseover=function(){

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

          title[j].className="";

          con[j].className="hide";

        }

    this.className="on";

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

    //title[i].className="on";

    //con[i].className="";

    }

这段代码中为什么不能用title[i].className="on";con[i].className="";来让标题和内容显示,请高人指点。


提问者:大嘴哈哈 2016-08-05 09:48

个回答

  • 大嘴哈哈
    2016-08-05 13:35:00

    那解决方法的思路还是不太理解?

  • 水里有条鱼
    2016-08-05 09:58:22

    title[i].className="on";con[i].className="";

    如果它在绑定事件时执行的是这个的话,那么它事件触发,执行程序时, i 的值是什么呢?是跟着对应的title和con吗?不是的, i恒定等于title.length,因为for就是在i=title.length时退出,之后没有对 i 进行操作了,所以一直为title.length,所以title[i]和con[i]一直得不到对象(对象在 大于等于0 小于title.length)