变量作用域
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也是传不进去