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

为什么我这样写就不可以呢

 window.onload = function(){
                  
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
        var trs = document.getElementsByTagName("tr");
        for(var i=0;i<trs.length;i++){
            trs[i].onmouseover=function(){
                trs[i].style.backgroundColor="#f2f2f2";
            }
            trs[i].onmouseout=function(){
                trs[i].style.backgroundColor="#fff"; 
            }
        }     
     }


提问者:宝哥来也哦哦 2015-04-23 16:34

个回答

  • 零下的夏天
    2015-04-23 20:39:56
    已采纳

    this.style.background = "#f2f2f2";

    将那个trs[i]改为this试下

  • 慕郎_莲华
    2015-04-23 17:16:53

    (function(i){
                        trs[i].onmouseover=function(){
                            trs[i].style.backgroundColor="#f2f2f2";
                        }
                        trs[i].onmouseout=function(){
                            trs[i].style.backgroundColor="#fff"; 
                        }
                    })(i);

    这里有个javascript的闭包的概念