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

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

請問這段代碼哪里錯了,為什么沒有效果?

請問這段代碼哪里錯了,為什么沒有效果?

懶人00 2016-09-05 19:44:17
<!DOCTYPE?html> <html> <head> ????<meta?charset="UTF-8"> ????<title>Document</title> </head> <body> ????<input?type="button"?value="第一個"?/> ????<input?type="button"?value="第二個"?/> ????<input?type="button"?value="第三個"?/> ????<script> ???? ????????var?btn?=?document.getElementsByTagName('input');???????????? ????????????for(var?i?=?0;?i?<?btn.length;?i?++)?{ ????????????btn[i].onclick?=?function(){ ????????????????if(i==0){ ????????????????????alert("這是第一個"); ????????????????} ????????????????if(i==1){ ????????????????????alert("這是第二個"); ????????????????} ????????????????if(i==2){ ????????????????????alert("這是第三個"); ????????????????}???????????????????????? ????????????} ????????}???????????????? ???? ???????? ????</script> </body> </html>
查看完整描述

3 回答

已采納
?
stone310

TA貢獻(xiàn)361條經(jīng)驗 獲得超191個贊

i=0的時候判斷i<btn.length為true,然后i++,i=1;

i=1的時候判斷i<btn.length為true,然后i++,i=2;

i=2的時候判斷i<btn.length為true,然后i++,i=3;

i=3的時候判斷i<btn.length為false,

所以最后i為3

i放在事件內(nèi)部是不會循環(huán)的,因為頁面加載時for循環(huán)綁定了?btn[i].onclick事件,而這是個異步加載,頁面加載好后i已經(jīng)循環(huán)完畢,是個定值,就是btn.length,在這里即為3


查看完整回答
1 反對 回復(fù) 2016-09-05
  • 懶人00
    懶人00
    i放在事件內(nèi)部為什么是不會循環(huán)的????異步加載時什么意思
  • stone310
    stone310
    異步加載在這里就是頁面加載完畢之前先執(zhí)行完畢f(xié)or循環(huán),這時for循環(huán)已經(jīng)結(jié)束了,i已經(jīng)是3了,但是你的onclick事件還沒開始,所以你點擊的時候i就是3
  • 懶人00
    懶人00
    嗯,謝謝了
?
如風(fēng)糖

TA貢獻(xiàn)8條經(jīng)驗 獲得超1個贊

你搜索一下js閉包 就能解決你的問題

查看完整回答
反對 回復(fù) 2016-09-06
?
黑女2008

TA貢獻(xiàn)75條經(jīng)驗 獲得超32個贊

循環(huán)綁定,就相當(dāng)于是每個按鈕有一個點擊事件,比如你點擊第一個的時候,調(diào)用第一個的事件,但是此時你的i是當(dāng)時循環(huán)的時候的最后i的值,是3,并不是你這次點擊的第i個。

可以直接這樣寫:

var btn = document.getElementsByTagName('input'); ? ? ? ? ? ?

? ? ? ? ? ? for(var i = 0; i < btn.length; i ++) {

? ? ? ? ? ? btn[i].onclick = function(){

? ? ? ? ? ? alert(this.defaultValue); ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? }

? ? ? ? }


查看完整回答
反對 回復(fù) 2016-09-05
  • 懶人00
    懶人00
    我主要的目的不是得到這幾個值,而是要為每個元素綁定相同的事件,設(shè)置不同的效果的,為什么i是最后的值呢
  • 3 回答
  • 0 關(guān)注
  • 1577 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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