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

我这个颜色怎么改变不了

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

https://img1.sycdn.imooc.com//5ce78b9900011a9204760229.jpg望采纳。。谢谢

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

weixin_慕姐5415347 提问者

已采纳,这里面的this不就是指的tr[i]么为什么不可以直接这么使用呢
2019-06-16 回复 有任何疑惑可以回复我~
#2

阳火锅 回复 weixin_慕姐5415347 提问者

你页面有多少个tr? 10个? 5个? 你用tr[i]是想改变哪个的颜色? 只有用this , this代表我不管页面是多少tr 当鼠标移到那个我就改变那个。。
2019-06-17 回复 有任何疑惑可以回复我~
#3

weixin_慕姐5415347 提问者 回复 阳火锅

感谢您的耐心解答,这个函数里面的tr[i]和等式左边的tr[i]在同一次循环内指的不就是一个tr[i]么,因为同一次循环内i的值是一样的呀
2019-06-19 回复 有任何疑惑可以回复我~
#4

阳火锅 回复 weixin_慕姐5415347 提问者

你还是没理解啊。。哎。。 tr[i]代表多个对不对? this只代表一个。。代表一个什么呢? 就是当前触发事件的这个。。 你如果tr[i].style.background那你告诉我,你是要改变哪个tr的颜色? 假如页面有5个tr 你到底要改变哪个? 你循环都遍历了。。 此时游览器不知道你到底要改变谁。。 this代表什么? this代表一个指针。。意思就是我鼠标移到了哪个就改变当前的这个。。 外层可以用tr[i]。。这个是用来给每一个tr绑定一个函数的,不然你就给每个tr去取一个id名字分别绑定函数咯。。你别被外层的tr[i]迷惑了知道不。。
2019-06-19 回复 有任何疑惑可以回复我~
查看1条回复

楼上回答的非常正确

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

weixin_慕姐5415347 提问者

这里面的this不就是指的tr[i]这个对象么,为什么不可以直接这么使用呢
2019-06-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我这个颜色怎么改变不了

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