亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

鼠標移到不同行時背景色改變?

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

? ? ? ?for(var i=1;i<trs.length;i++){

? ? ? ? ? ?trs[i].onmouseover=function(){this.style.backgroundColor="#f2f2f2";};

? ? ? ? ? ?trs[i].onmouseout=function(){this.style.backgroundColor="#fff";};

? ? ? ?} ? ??

上面的正常的代碼,問:

1 如果將this.style....改為trs[i].style...為什么就沒有效果了?


2 ?如果改成trs[i].setAttribute("onmouseover","changeColor()");?


function changeColor(){


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


} ? ?也沒有效果,為什么?


正在回答

1 回答

好的,這位同學,我先回答你的第一個問題,為什么是this而不是trs[i],因為我們在做鼠標經過事件的時候,當鼠標移到一個對象上時就會觸發該事件。this是指當前的,當鼠標移到當前對象時,它的樣式就發生了改變。第二個問題,這是setAttribute(name,value)的語法。name是要設置的屬性名,而你這onmouseover是一個事件,概念上是有區別的。

望采納。。。。

0 回復 有任何疑惑可以回復我~
#1

strawIce 提問者

this對象不是指當前對應的trs[i]對象嗎?
2016-08-12 回復 有任何疑惑可以回復我~
#2

lukaM 回復 strawIce 提問者

我來說說我的理解希望可以幫到你,因為是將一個function賦給trs[i].onmouseover,你給function中設置trs[i],當它在執行狀態時并不能找到trs[i]這個對象,而this這個執行時,它就會知道。
2016-08-16 回復 有任何疑惑可以回復我~
#3

strawIce 提問者 回復 lukaM

好的,謝謝
2016-08-16 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

鼠標移到不同行時背景色改變?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號