为了账号安全,请及时绑定邮箱和手机立即绑定

大佬们。为什么这样写背景颜色不会改变呢

   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"
         }
    }

正在回答

2 回答

这是一个闭包带来的问题,那什么是闭包,可以去看一个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);
    }


1 回复 有任何疑惑可以回复我~
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";
        }
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

大佬们。为什么这样写背景颜色不会改变呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信