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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于this問(wèn)題

?window.onload = function(){? ? ? ? ? ? ? ? ??

? ? ?// 鼠標(biāo)移動(dòng)改變背景,可以通過(guò)給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來(lái)改變所在行背景色。

? ? ?var hh=document.getElementsByTagName("tr");

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

? ? ?{ ??

? ? ? ? hh[i].onmouseover=function(){?

? ? ? ? ? ? ?this.style.backgroundColor= "#f2f2f2";

? ? ? ? }

? ? ? ? ?hh[i].onmouseout=function(){?

? ? ? ? ? ?this.style.backgroundColor= "#fff";

? ? ? ? }? ? ? } ?}

為什么這段代碼里,改背景色時(shí)用this就成功了,可是用??hh[i]不行?

正在回答

3 回答

這個(gè)問(wèn)題,如果你js基礎(chǔ)不好或剛?cè)腴T的話,給你解釋估計(jì)你也會(huì)難于理解。。我試著解釋一下吧,理解了更好,不理解你再問(wèn)我。。

window.onload?=?function(){??????????????????
?????//?鼠標(biāo)移動(dòng)改變背景,可以通過(guò)給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來(lái)改變所在行背景色。
?????var?hh=document.getElementsByTagName("tr");
?????for(var?i=0;i<hh.length;i++)
?????{???
????????hh[i].onmouseover=function(){?
?????????????this.style.backgroundColor=?"#f2f2f2";
????????}
?????????hh[i].onmouseout=function(){?
???????????this.style.backgroundColor=?"#fff";
????????}??????
??????}??
}

這幾段代碼的意思是,在頁(yè)面加載完畢之后,選出來(lái)所有的tr元素,由于所有的tr元素是放在一個(gè)nodeList里(你可以認(rèn)為是一個(gè)數(shù)組),所以可以循環(huán)它,來(lái)給每個(gè)tr綁定mouseover和mouseout事件。。

這些你肯定都理解。。

那為什么使用hh[i]就不行,使用this就可以了呢?

因?yàn)?,循環(huán)執(zhí)行的很快,一瞬間就執(zhí)行完畢了,所以當(dāng)你觸發(fā)mouseover和mouseout事件時(shí),循環(huán)早就執(zhí)行完畢了,執(zhí)行完畢時(shí),此時(shí) i = hh.length,所以,你使用 hh[i] 也就是 hh[hh.length] 并不能取出任何元素(返回undefined),那么你要實(shí)現(xiàn)的目標(biāo)“給每個(gè)tr綁定mouseover和mouseout事件”顯然是實(shí)現(xiàn)不了的。。


但是為什么this就可以了呢?因?yàn)椴徽撊绾危录幚砗瘮?shù)中的this對(duì)象始終指向每一個(gè)tr,所以它就可以。。


?



0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

PDD一枚 提問(wèn)者

非常感謝!有問(wèn)題再問(wèn)你
2015-11-25 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕男嬸 回復(fù) PDD一枚 提問(wèn)者

我解釋的你聽懂了沒(méi)?
2015-11-25 回復(fù) 有任何疑惑可以回復(fù)我~

講的很好。不過(guò)我想知道這個(gè)this指針為什么指向的是“tr”

1 回復(fù) 有任何疑惑可以回復(fù)我~
0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468775    人
  • 解答問(wèn)題       22474    個(gè)

本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁(yè)動(dòng)態(tài)交互世界

進(jìn)入課程

關(guān)于this問(wèn)題

我要回答 關(guān)注問(wèn)題
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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