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

鼠标移动变色问题

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

  1. this是获取当前的元素,当你把this改成trs[i]之后,获取不到鼠标现在滑过的元素了。

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

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

  4. 一点拙见,望采纳。

1 回复 有任何疑惑可以回复我~
#1

HoooooHooo 提问者

非常感谢!
2016-04-22 回复 有任何疑惑可以回复我~
#2

新人沈琦斌

这里的this是固定用法吗?
2016-04-25 回复 有任何疑惑可以回复我~

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

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

举报

0/150
提交
取消

鼠标移动变色问题

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