這樣寫為什么鼠標移動到一行上顏色不改變?
window.onload = function(){
? ? ? ? var trs = document.getElementsByTagName("tr"); ? ? ?
? ? for(var i=0; i<trs.lenght; i++){
? ? ? ? ? ? ?bgchange(trs[i]);
? ? } ??
}
? ? ? // 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
? ? function bgchange(obj){
? ? ? ? obj.onmouseover = function(){
? ? ? ? ? ? obj.style.backgroundColor = "#f2f2f2";
? ? ? ? }
? ? ? ? obj.onmouseout = function(){
? ? ? ? ? ? obj.style.backgroundColor = "#fff";
? ? ? ? }
?}
2016-03-24
兩處地方有錯:
第一:i<trs.lenght ? 應該為 ? i<trs.length
第二:最后一個中括號錯了,要改為英文的。
但像你這樣寫的代碼的話會有個問題,那就是添加的 新一行的背景色不會改變,因為你的bgchange(obj)函數(shù)是寫在window.onload頁面加載里面的,所以新的一行無法調用這個方法,或者說即使調用了bgchange(obj) 這個方法,背景色也不會改變,把改變背景色的代碼完整的寫在一個函數(shù)里就行了。