变色为什么要嵌套才行了,直接写没效果呢

来源:9-22 编程练习

whh168

2015-02-10 10:14

      window.onload = function(){
      var tr = document.getElementsByTagName("tr");

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

              bgChange(tr[i]);

          }

   

  }

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

     function bgChange(a) {

         a.onmouseover=function()

         {

         a.style.backgroundColor="#f2f2f2";

         }

        a.onmouseout=function()

         {

         a.style.backgroundColor="#fff";

         }

 }


    

写回答 关注

4回答

  • sixGod
    2015-02-11 11:01:22

    你这样写就可以了

    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()

                 {

                    this.style.backgroundColor="#fff";

                 }

      }


  • sixGod
    2015-02-11 10:47:01

    问题出在onmouseover=function(),这样写就相当于当onmouseover时,执行下function()里的代码,并不是给tr[i]的事件绑定方法

    你试下直接在里面输出i,发现无论你移动到哪一条,i的值都不会变

  • whh168
    2015-02-10 11:46:40

    window.onload = function(){
          var tr = document.getElementsByTagName("tr");

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

               tr[i].onmouseover=function()

             {

             a.style.backgroundColor="#f2f2f2";

             }
             tr[i].onmouseout=function()

             {

             a.style.backgroundColor="#fff";

             }

        }
     

      }

     

  • sixGod
    2015-02-10 11:26:50

    应该是可以的,你直接写没有效果,可能是你定错了,可以把你说的没有效果的代码发出来看看

    whh168

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

    2015-02-10 11:49:08

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题