问答详情
源自:9-22 编程练习

JavaScript进阶篇9-22 编程练习

  1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff 。

    这里的代码为什么要用this,而不能是trs[i].style.backgroundColor = "#f2f2f2";


 window.onload = function(){

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

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

               trs[i].onmouseover = function(){

                     this.style.backgroundColor = "#f2f2f2";

               }

               trs[i].onmouseout = function(){

                     this.style.backgroundColor = "#fff";

                }

       }

        }

提问者:qq_泥巴的城_0 2017-09-20 17:28

个回答

  • zhouqian
    2017-09-25 17:29:54
    已采纳

    因为JS里的对象是全局的,如果使用trs[i],这里的i的值一直是走完循环后的值,也就是:trs.length的值,所以trs[i]一直为undefined