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

选项索引位置问题

    window.onload=function(){

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

        var lilists = tab.getElementsByTagName("li");

        var divlists = tab.getElementsByTagName("div");

        for(var i=0,n=lilists.length;i<n;i++){

            lilists[i].index = i;

            lilists[i].onmouseover=function(){

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

                    lilists[y].className="";

                    divlists[y].className="hidd";

                }

                this.className = "on";

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

            }

        };

    }

为什么代码中

this.className = "on";

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

更改为

lilists[i].className ="on";

divlists[i].className = "show";

无法定位到相应元素,不能实现功能?



提问者:qq_小六_3 2016-03-17 14:17

个回答

  • 请叫我橙子蛋
    2016-03-23 15:11:40

    你这么写的话得不到鼠标经过的到底是哪个li,当事件触发的时候你可以通过this来获取触发事件那个li。

    而且你鼠标经过的时候aLi[i]里的i未赋值

  • 张张张090
    2016-03-17 23:29:55

    我也想知道为什么。

  • 艾米1993
    2016-03-17 22:39:45

    http://www.jb51.net/article/16863.htm