这样写有什么错误吗?

来源:9-22 编程练习

慕粉4408527

2016-12-07 20:24

      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回答

  • Konp
    2016-12-08 21:48:09

    改变颜色最好单独再写一个方法,onload是主体加载完后执行的,在添加函数里再次调用此函数。

    你这里的问题是:

    tr[i].onmouseover=function(){tr[i].style.backgroundColor="#f2f2f2";}

    改成:

    tr[i].onmouseover=function(){this.style.backgroundColor="#f2f2f2";}

  • 聪聪聪聪
    2016-12-07 22:13:14

    你的i是你的循环的东西,你怎么可以去用在tr[i]下面呢

    慕粉4408... 回复聪聪聪聪

    他们有人这样写也可以,为什么我的不行

    2016-12-08 13:10:07

    共 2 条回复 >

JavaScript进阶篇

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

468190 学习 · 21891 问题

查看课程

相似问题