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

两者有什么区别?求大神指教!

   为什么这样可以, 

  window.onload = function(){

          var tr=document.getElementsByTagName("tr");

          for(var i= 0;i<tr.length;i++)

          {

              bgcChange(tr[i]);

          }

     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

      }         

function bgcChange(obj)

     {

        obj.onmouseover=function(){

            obj.style.backgroundColor="#f2f2f2";

        }

        obj.onmouseout=function(){

            obj.style.backgroundColor="#fff";

        }

}

这样却不行?

  window.onload = function(){

    var tr=document.getElementsByTagName("tr");

        for(var i= 0;i<tr.length;i++)

          {

              tr[i].onmouseover=function(){

            tr[i].style.backgroundColor="#f2f2f2";        }

        tr[i].onmouseout=function(){

           tr[i].style.backgroundColor="#fff";        }

          }

     }


正在回答

2 回答

将  tr[i].style.backgroundColor="#f2f2f2"; 改为 this.style.backgroundColor="#f2f2f2";

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

window.onload = function(){
   var tr=document.getElementsByTagName("tr");
   for(var i= 0;i<tr.length;i++)
   {
       tr[i].onmouseover=function(){
           this.style.backgroundColor="#f2f2f2";        }
       tr[i].onmouseout=function(i){
           this.style.backgroundColor="#fff";        }
   }
}

这样就行;

首先

tr[i].onmouseover=function(){

            tr[i].style.backgroundColor="#f2f2f2";        }

这里 function里面的tr[i]因为变量作用域的关系是不存在的,把它换为当前对象this就解决了。

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468263    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

两者有什么区别?求大神指教!

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