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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下代碼中 aBtn[i].style.background = 'red'; 為啥不能用oBtn[i] 替代 this

以下代碼中 aBtn[i].style.background = 'red'; 為啥不能用oBtn[i] 替代 this

Chiong 2016-04-21 13:21:24
?<script>window.onload?=?function?()?{ var?aBtn?=?document.getElementsByTagName('input'); for(var?i=0;?i<aBtn.length;?i++){ aBtn[i].onclick?=?function?()?{ aBtn[i].style.background?=?'red'; }; }};</script>?這句話中 aBtn[i].style.background = 'red'; 為啥不能用oBtn[i] 替代 this
查看完整描述

4 回答

已采納
?
qq_青棗工作室_0

TA貢獻446條經(jīng)驗 獲得超754個贊

因為閉包,說起來就復(fù)雜了。

aBtn[i].onclick?=?function?()?{
? ?aBtn[i].style.background?=?'red';
};

這個匿名function里面的變量 i 跟外層的?for(var?i=0;?i<aBtn.length;?i++) 中的 i 是同一個。而且,這個i在for循環(huán)里自增到aBtn.length這個值了。然后,i就一直就是?aBtn.length 的值。

查看完整回答
3 反對 回復(fù) 2016-04-21
?
Chiong

TA貢獻1條經(jīng)驗 獲得超0個贊

將代碼aBtn[i].style.background?=?'red';改為?aBtn[i-1].style.background = 'red'; 以后,第三個按鈕會變成紅色, 所以i的值最后是3. ?for 循環(huán)只是起到給每個btn加事件的效果. 點擊這個事件觸發(fā)時候for 已經(jīng)循環(huán)完了, i的值是3, 那么就變成了aBtn[3]這個按鈕變紅,但是這個按鈕并不存在,所以三個按鈕沒有一個有反應(yīng)的. 但是改為i-1 后 .最后一個按鈕就變紅了.

end.3ku.all

查看完整回答
反對 回復(fù) 2016-04-21
?
zeusGOGOGO

TA貢獻48條經(jīng)驗 獲得超17個贊

循環(huán)體中只是定義了onclick的回調(diào)函數(shù),并不會執(zhí)行,當(dāng)次循環(huán)體執(zhí)行完時i===aBtn.length,所以不能使用。但是this關(guān)鍵字代表的是觸發(fā)click事件的element,是正確的。如果你不想用this,我把代碼改成如下,跟this效果是一樣的:

for(var?i=0;?i<aBtn.length;?i++){
var?index?=?i;
aBtn[i].onclick?=?function?(index)?{
aBtn[index].style.background?=?'red';
};

新加變量index只是為了讓你更加明確。

更推薦你使用this

查看完整回答
反對 回復(fù) 2016-04-21
  • zeusGOGOGO
    zeusGOGOGO
    代碼有誤,,,不能這么寫,這樣寫index值還是會變化。其實我是想表達標(biāo)簽索引必須暫存~
?
淡雅的默

TA貢獻102條經(jīng)驗 獲得超139個贊

你這里沒有明確指定this是代表什么

如果這樣$("input").click(funciton(){$(this)})

這個時候用this的時候,this就是代表點擊input標(biāo)簽,但是你上面只是把input定義了變量,用this就會不知道是用什么this

查看完整回答
反對 回復(fù) 2016-04-21
  • 4 回答
  • 0 關(guān)注
  • 2236 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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