这两种为什么方法第二种不行呢?

来源:9-22 编程练习

洪山

2016-11-22 11:25

       window.onload = function(){

       

       var j=document.getElementsByTagName('tr');

                 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 j=document.getElementsByTagName('tr');

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

        }

          }

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

      }

这是第二种,为什么一定要出来一个function();呢,放在一起怎么就不行了?

写回答 关注

1回答

  • 狗蛋儿他爹4392899
    2016-11-22 20:37:59

    没问题吧

    洪山

    有问题,运行之后只有第三行有效果,其他行都不行。。。

    2016-11-23 14:14:28

    共 1 条回复 >

JavaScript进阶篇

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

468190 学习 · 21891 问题

查看课程

相似问题