为什么把li[n]改成this就不行了?

        window.onload = function choice() {
            var tab = document.getElementById("tabs");
            var ul = tab.getElementsByTagName("ul")[0];
            var div = tab.getElementsByTagName("div");        
            var li  = ul.getElementsByTagName("li");

            for (var i = 0;i<li.length;i++){
                li[i].index = i;
                li[i].onclick = function(){
                    for(var n = 0;n<li.length;n++){
                        this.className = "";
                        div[n].className = "hide";
                    }
                    this.className = "on";
                    div[this.index].className = "";
                }
            }
        }


鲈先森
浏览 1705回答 2
2回答

慕郎_莲华

按照你的代码逻辑~~~第二层循环要删掉所有的元素的classnname~ this的话指向的是li[i]单个元素, 所以不行~
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript