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

来源:9-22 编程练习

BEMOVE

2015-11-03 16:57

      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";

        

    }


写回答 关注

2回答

  • 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:21:49

    共 1 条回复 >

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

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

    Y_du

    试试this

    2015-11-03 17:24:44

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题