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

关于改变颜色作用域的问题

      window.onload = function(){

         changeColor()  ; 

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

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

     function changeColor(){

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

      trNode[i].onmouseover = function(){

      this.style.backgroundColor = ' #f2f2f2';//为什么用this而trNode[i]不行

     

      }

      trNode[i].onmouseout = function(){

      this.style.backgroundColor = '#fff';

      }

      }

     }

 

this.style.backgroundColor = ' #f2f2f2'; 

this.style.backgroundColor = '#fff';

这两句为什么用this而trNode[i]不行

正在回答

2 回答

onmouseover是一个事件函数,函数里面调不到外面的循环变量。。

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468045    人
  • 解答问题       21891    个

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

进入课程

关于改变颜色作用域的问题

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