悟道参禅
2015-09-10 17:21
for(var i=0; i<titles.length; i++){ titles[i].id = i; titles[i].onclick = function(){ var _i = this.id; //alert(uls[_i].innerHTML); // 判断该列表,如果是显示的则将其隐藏,如果是隐藏的则将其显示出来 if(uls[_i].style.display == "none"){ for(var j=0; j<titles.length; j++){ uls[j].style.display = "none"; } uls[_i].style.display = "block"; } else { uls[_i].style.display = "none"; } } }
想把for循环中的i传到onclick绑定的函数中,还有什么方法?
for(var i=0; i<titles.length; i++){ var _i = i; titles[i].onclick = function(){ //var _i = this.id; //alert(uls[_i].innerHTML); // 判断该列表,如果是显示的则将其隐藏,如果是隐藏的则将其显示出来 if(uls[_i].style.display == "none"){ for(var j=0; j<titles.length; j++){ uls[j].style.display = "none"; } uls[_i].style.display = "block"; } else { uls[_i].style.display = "none"; } } }
像上面这样,为什么_i也是传不进去
titles[i].id = i;的作用是给li标签添加“id”属性的,该属性是唯一的,只有指定(即点击)了特定的id,才会显示高亮。
var _i = i 只是缓存一个变量没有实际意义。
Tab选项卡切换效果
65465 学习 · 533 问题
相似问题