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

虽然这样麻烦点但是为什么这样的函数调用不能改变背景颜色呢??求大神解疑

      window.onload = function(){

                  

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

        var tr=document.getElementsByTagName("tr") 

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

       

            bgcChange(tr[i]);

         

}

    }

function bgcChange(obj){

        

        obj.onmouseover="change(obj)";

        

    }

    function change(obj1){

        

        obj1.style.backgroundColor="red";

        

    }


提问者:BEMOVE 2015-11-03 16:57

个回答

  • Y_du
    2015-11-03 17:16:13
    已采纳

    for(var i=0;i<tr.length;i++){
        tr[i].onmouseover=function(){        
            this.style.backgroundColor="red";
        }
    }

    你不行因为是你的tr这个dom在change()没有拿到,就是说你传的obj1在change()这不是你要的tr这个dom.


  • BEMOVE
    2015-11-03 17:23:34

    但是利用我那种方法怎么做能把参数传过去呢?我只是试试不同的方法