鼠標移動變色問題
window.onload = function(){
? ? ? ? ??
? ? ? ? ? var trs=document.getElementsByTagName("tr");
? ? ? ? ? for(var i=0;i<trs.length;i++){
? ? ? ? ? ? ??
? ? ? ? ? ? ??
? ? ? ? ? ? ? ? trs[i].onmouseover=function color1(){this.style.backgroundColor="#f2f2f2";}
? ? ? ? ? ? ? ? trs[i].onmouseout=function color2(){this.style.backgroundColor="#fff";}
? ? ? ? ? }
? ? ? ? ? ? ??
? ? ?// 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
}
1.這里面的this 改成trs[i]為什么不行 ? 2.為什么新增加了一行 之后 那一行在鼠標經過和移開的時候沒有變化了
2016-04-22
this是獲取當前的元素,當你把this改成trs[i]之后,獲取不到鼠標現在滑過的元素了。
第二個問題是很簡單,把你寫的第一個function(){}的花括號里的所有內容全部復制到你的add函數里面就ok了。
因為window.onload=....所以你的改變顏色的函數初始化只對目前的tr有效,而你新插入的tr并沒有onload。
一點拙見,望采納。
2016-04-26
this表示當前所使用對象,很多語言都這么定義的