请问为什么我添加之后,当鼠标移入到新添加的那一行,但是背景颜色没有变

来源:9-22 编程练习

慕数据1008917

2017-02-28 10:54

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

  <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>   

  <script type="text/javascript"> 

  

      window.onload = function(){

                  

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

         var a=document.getElementsByTagName("tr");

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

         {

             change(a[i]);

         }

     

 

}

function change(obj)

{

    obj.onmouseover=function(){

            obj.style.backgroundColor="red";

        }

        obj.onmouseout=function(){

            obj.style.backgroundColor="#fff";

        }

}

 

     

      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

     function addnode()

     {

         var table2=document.getElementById("table");

         var tachild=document.createElement("tr");

         tachild.innerHTML="<td>xh003</td><td>周小顺</td><td><a>删除</a></td>"

         table2.appendChild(tachild);

         

     }

   

     

     // 创建删除函数

     function deletenode(obj)

     {

          var tr=obj.parentNode.parentNode;

          tr.parentNode.removeChild(tr);

     }



  </script> 

 </head> 

 <body> 

  <table border="1" width="50%" id="table">

  <tr>

<th>学号</th>

<th>姓名</th>

<th>操作</th>

  </tr>  


  <tr>

<td>xh001</td>

<td>王小明</td>

<td><a a href="javascript:void(0);" onclick="deletenode(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

<td><a href="javascript:void(0);" onclick="deletenode(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>  


  </table>

  <input type="button" value="添加一行"  onclick="addnode()" />   <!--在添加按钮上添加点击事件  -->

 </body>

</html>


写回答 关注

1回答

  • 不知不觉后知后觉嗯
    2017-02-28 12:35:37

    因为你没新添加的元素设置鼠标移入和移除事件,把下面代码放在addnode()函数中。

     tachild.onmouseover=function(){

                tachild.style.backgroundColor="red";

            }

    tachild.onmouseout=function(){

                tachild.style.backgroundColor="#fff";

            }

    还有一个问题:

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> //charset要改为UTF-8,这样不会使得中文乱码


    不知不觉后知... 回复小小七i

    啊 我电脑上运行正确。。 你先把他的代码赋值过去 再把我提供的代码放到我所说的具体位置 再试试

    2017-03-10 19:45:12

    共 2 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题