第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

這樣寫為什么實(shí)現(xiàn)不了效果,只用一次循環(huán)

這樣寫為什么實(shí)現(xiàn)不了效果,只用一次循環(huán)

qq_小輝_4 2017-08-22 11:38:51
?var li=document.getElementsByTagName("li")? var div=document.getElementsByTagName("div")? for(var i=0;i<li.length;i++){? ? ? li[i].onclick=function(){? ? ? ? ? li[i].className=""? ? ? ? ? this.className="on"? ? ? }? }
查看完整描述

3 回答

已采納
?
__innocence

TA貢獻(xiàn)313條經(jīng)驗(yàn) 獲得超208個(gè)贊

函數(shù)閉包問題,你的循環(huán)里面,每一個(gè)i的值都是li.length,所以這個(gè)元素不存在。

先做個(gè)試驗(yàn):把里面兩句注釋掉,然后直接打印i的值,在控制臺(tái)看一下輸出:

?for(var?i=0;i<li.length;i++){
??????li[i].onclick=function(){
??????????//li[i].className=""
??????????//this.className="on"
??????????console.log(i);
??????}
??}

你會(huì)發(fā)現(xiàn),你點(diǎn)擊任何一個(gè)元素,輸出的結(jié)果都是一樣的。都是li的長(zhǎng)度。

這些綁定事件都是點(diǎn)擊的時(shí)候才調(diào)用的,但加載的時(shí)候,i的值已經(jīng)變化了,由于JavaScript閉包的存在,這個(gè)i一直存在于內(nèi)存中;

var?li?=?document.getElementsByTagName('li');????
for?(var?i?=?0;?i?<?li.length;?i++)?{????
???(function(i){????
????????li[i].onclick?=?function()?{????????
????????????console.log(i);??????
????????}??
???})(i);??
}


查看完整回答
1 反對(duì) 回復(fù) 2017-08-22
?
Gotta

TA貢獻(xiàn)53條經(jīng)驗(yàn) 獲得超16個(gè)贊

你要實(shí)現(xiàn)什么效果。。?

查看完整回答
反對(duì) 回復(fù) 2017-08-22
  • 3 回答
  • 0 關(guān)注
  • 1780 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)