鼠標移到不同行時背景色改變?
? 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";
} ? ?也沒有效果,為什么?
2016-08-12
好的,這位同學,我先回答你的第一個問題,為什么是this而不是trs[i],因為我們在做鼠標經過事件的時候,當鼠標移到一個對象上時就會觸發該事件。this是指當前的,當鼠標移到當前對象時,它的樣式就發生了改變。第二個問題,這是setAttribute(name,value)的語法。name是要設置的屬性名,而你這onmouseover是一個事件,概念上是有區別的。
望采納。。。。