HoooooHooo
2016-04-22 16:24
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.为什么新增加了一行 之后 那一行在鼠标经过和移开的时候没有变化了
this是获取当前的元素,当你把this改成trs[i]之后,获取不到鼠标现在滑过的元素了。
第二个问题是很简单,把你写的第一个function(){}的花括号里的所有内容全部复制到你的add函数里面就ok了。
因为window.onload=....所以你的改变颜色的函数初始化只对目前的tr有效,而你新插入的tr并没有onload。
一点拙见,望采纳。
this表示当前所使用对象,很多语言都这么定义的
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题