變量作用域
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循環(huán)中的i傳到onclick綁定的函數(shù)中,還有什么方法?
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也是傳不進(jìn)去
2016-03-02
?titles[i].id?=?i;的作用是給li標(biāo)簽添加“id”屬性的,該屬性是唯一的,只有指定(即點(diǎn)擊)了特定的id,才會(huì)顯示高亮。
var _i = i 只是緩存一個(gè)變量沒有實(shí)際意義。