为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

鲈先森 2016-03-05 17:42:12
        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 = "";                 }             }         }
查看完整描述

2 回答

?
慕郎_莲华

TA贡献83条经验 获得超16个赞

按照你的代码逻辑~~~第二层循环要删掉所有的元素的classnname~ this的话指向的是li[i]单个元素, 所以不行~

查看完整回答
1 反对 回复 2016-03-06
  • 鲈先森
    鲈先森
    恩恩,开始我以为this会指向for循环里面的li[n],原来是不行的
  • 2 回答
  • 0 关注
  • 1689 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信