鼠标移动变色问题

来源:9-22 编程练习

HoooooHooo

2016-04-22 16:24

window.onload = function(){

          

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

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

              

              

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

                trs[i].onmouseout=function color2(){this.style.backgroundColor="#fff";}

          }

              

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


}

1.这里面的this 改成trs[i]为什么不行   2.为什么新增加了一行 之后 那一行在鼠标经过和移开的时候没有变化了

写回答 关注

2回答

  • 小小的慕课
    2016-04-22 17:09:58
    已采纳
    1. this是获取当前的元素,当你把this改成trs[i]之后,获取不到鼠标现在滑过的元素了。

    2. 第二个问题是很简单,把你写的第一个function(){}的花括号里的所有内容全部复制到你的add函数里面就ok了。

    3. 因为window.onload=....所以你的改变颜色的函数初始化只对目前的tr有效,而你新插入的tr并没有onload。

    4. 一点拙见,望采纳。

    新人沈琦斌

    这里的this是固定用法吗?

    2016-04-25 00:26:53

    共 2 条回复 >

  • Uauslman
    2016-04-26 13:36:53

    this表示当前所使用对象,很多语言都这么定义的

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题