我这个颜色怎么改变不了

来源:9-22 编程练习

weixin_慕姐5415347

2019-05-23 15:17

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

  • 阳火锅
    2019-05-24 14:14:11
    已采纳

    https://img3.mukewang.com/5ce78b9900011a9204760229.jpg望采纳。。谢谢

    阳火锅 回复weixin...

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

    2019-06-19 14:43:05

    共 4 条回复 >

  • qq_最美不过初相遇厌倦人心_0
    2019-06-05 16:56:54

    楼上回答的非常正确

    weixin...

    这里面的this不就是指的tr[i]这个对象么,为什么不可以直接这么使用呢

    2019-06-16 12:30:29

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题