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

为什么新增一行后,鼠标滑过改变背景色不好使了?

为什么新增一行后,鼠标滑过改变背景色不好使了?


提问者:Aimeesui 2016-08-01 15:10

个回答

  • 水里有条鱼
    2016-08-01 16:20:01
    已采纳

    因为你没给添加的行设置鼠标划过的事件。下面这几句就是给节点添加鼠标划过事件的函数(只有初始化时使用到,所以只有一开始三行有反应)

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

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

                trs[i].onmouseover=function(){

                    this.style.backgroundColor="#ccc";

                }

                trs[i].onmouseout=function(){

                    this.style.backgroundColor="#fff";

                }

    修改方法1:

    把以上函数写成一个函数,这里命名为change(),然后这样:

          window.onload = function(){

              change();     }

    function change(){ 

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

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

                trs[i].onmouseover=function(){

                    this.style.backgroundColor="#ccc";

                }

                trs[i].onmouseout=function(){

                    this.style.backgroundColor="#fff";

                }

    }

    最后在addto函数最后调用change函数

    方法2:

    直接复制上面代码到addto函数最后面