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

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

鼠標(biāo)經(jīng)過改變背景顏色問題

window.onload?=?function(){
???var?tableRows=document.getElementsByTagName("tr");
???for(var?i=0;i<tableRows.length;i++){
???????tableRows[i].onmouseover=function(){?
???????????tableRows[i].style.backgroundColor="yellow";
?????????}
?????????tableRows[i].onmouseout=function(){
?????????????tableRows[i].style.backgroundColor="#CCC";
??????????}
?????}
??}

為什么這種設(shè)置顏色時(shí),總對(duì)初始那兩行報(bào)Cannot read property 'style' of undefined錯(cuò)誤,然后只在新增加一行的上面生效。然后我改成圖片那種就沒有問題了。我感覺這是差不多的啊。

https://img1.sycdn.imooc.com//5bf4ca0b0001605205440306.jpg

我的添加代碼:

https://img1.sycdn.imooc.com//5bf4cae20001fef206190377.jpg


正在回答

3 回答

?tableRows[i].style.backgroundColor="yellow";

?tableRows[i].style.backgroundColor="#CCC";

你把你的這兩行代碼改成 :this.style.backgroundColor="yellow";this.style.backgroundColor="#CCC";

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

HYDMonster 提問者

謝謝哦,這樣就沒有問題了,你知道是為什么嗎
2018-11-21 回復(fù) 有任何疑惑可以回復(fù)我~

for循環(huán)時(shí)用var定義存在變量提升問題,tableRows[i].onmouseover=function(){tableRows[i].style.backgroundColor="yellow";};當(dāng)執(zhí)行移入移除的時(shí)候i已經(jīng)循環(huán)到tableRows.length;所以只能是最后一個(gè)有效果吧。將tableRows[i]改為this時(shí)有效果是因?yàn)?,this指向的是調(diào)用這個(gè)方法的對(duì)象,tableRows[i].onmouseover=function(){this.style.backgroundColor="yellow";};this指向的就是tableRows[i]。

我覺得是這個(gè)樣子,僅供參考

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

HYDMonster 提問者

謝謝哦
2018-11-29 回復(fù) 有任何疑惑可以回復(fù)我~

函數(shù)之間存在作用域,具體原理與理論我不太清楚去了.. 大概意思就是tableRows[i]是局部的。。不是全局

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

舉報(bào)

0/150
提交
取消

鼠標(biāo)經(jīng)過改變背景顏色問題

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

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

幫助反饋 APP下載

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

公眾號(hào)

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