var row=document.getElementsByTagName("tr");
for(i=0;i<row.length;i++)
{
row[i].onmouseover=function(){
row[i].style.backgroundColor="#f2f2f2";
}
row[i].onmouseout=function(){
row[i] .style.backgroundColor="#fff"
}
}
这是一个闭包带来的问题,那什么是闭包,可以去看一个Bosn老师的课程7-1[JavaScript]理解闭包
改成这样就行了:
var row=document.getElementsByTagName("tr"); for(i=0;i<row.length;i++) { !function(i) { row[i].onmouseover=function(){ row[i].style.backgroundColor="#f2f2f2"; } row[i].onmouseout=function(){ row[i] .style.backgroundColor="#fff" } }(i); }
var row =document.getElementsByTagName("tr"); for(var i=0;i<row.length;i++){ row[i].onmouseover=function () { this.style.backgroundColor="#f2f2f2"; }; row[i].onmouseout=function () { this.style.backgroundColor="#fff"; } }