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

不知道最后这几步代码是什么意思

for(var i=0;i<li.length;i++){//获取所有i编号的元素
   li[i].index = i;  //定义一个index属性对li进行编号??
   li[i].onclick = function(){//再注册一个点击事件,当点击的时候所有标签都恢复最初状态??
       for(var n=0;n<li.length;n++){//这步是相对于未被点击部分的样式??
           li[n].className = "";
           div[n].className = "hide";
       }
       this.className = "on";//再对点击事件添加相应的属性??
       div[this.index].className = "";//通过之前的index编号绑定的指定div??
   }
}

提问者:慕数据9493197 2016-09-25 21:51

个回答

  • 慕斯8597481
    2016-10-06 11:08:06

    for(var n=0;n<li.length;n++){//这步是相对于未被点击部分的样式??

    这里把所有的(包括被点击的那个),全都取消选中状态并隐藏内容。然后在for循环以外

    this.className = "on";//再对点击事件添加相应的属性??

    div[this.index].className = "";//通过之前的index编号绑定的指定div??

    这里把选中的那个的显示出来。

  • qq_沙冷_0
    2016-10-03 16:07:48

    for(var i=0;i<li.length;i++){//此时li相当于数组,但是数组名不能去关键字因此不能取li
       li[i].index = i;  //直接获取
       li[i].onclick = function(){//再注册一个点击事件,当点击的时候所有标签都恢复最初状态?? 是的
           for(var n=0;n<li.length;n++){//这步是相对于未被点击部分的样式??嗯
               li[n].className = "";
               div[n].className = "hide";
           }
           this.className = "on";//再对点击事件添加相应的属性??嗯
           div[this.index].className = "";//通过之前的index编号绑定的指定div??嗯
       }
    }