新添加的行不能变色不能删除,原有的两行都可以,这是怎么回事,求助!!!

来源:9-22 编程练习

太阳会发光呀

2019-02-15 09:29

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

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

  <style>

 /* table, th,tr, td{border: 1px solid grey;border-collapse: collapse;padding:10px;text-align: center;}*/

</style>

  <script type="text/javascript"> 

  window.onload = function(){

        changeColor();

       }

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

     function add(obj){

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

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

      

         var td1=document.createElement("td");

             td1.innerHTML="<input type='text'/>";

             tr.appendChild(td1);

         var td2=document.createElement("td");

             td2.innerHTML="<input type='text'/>";

             tr.appendChild(td2);

         var td3=document.createElement("td");



             td3.innerHTML= "<a href='javascript:;' onclick='remove(this)'>删除</a>";

             tr.appendChild(td3);


             table.appendChild(tr);

        changeColor();

     }

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

     function remove(obj){

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

         var tr =obj.parentNode.parentNode;

         table.removeChild(tr);


     }

     

       function changeColor(){

           var table=document.getElementById('table').lastChild;

           var s=table.getElementsByTagName('tr');//获取所有的行

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

               s[i].onmouseover=function (){//为行添加事件

               this.style.backgroundColor= "#f2f2f2";

               }

               s[i].onmouseout=function (){

               this.style.backgroundColor= "#fff";

               }

           }

      }

     // 创建删除函数


  </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 href="javascript:;" onclick="remove(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->

   </tr>


   <tr>

<td>xh002</td>

<td>刘小芳</td>

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

   </tr>  


   </table>

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

 </body>

</html>


写回答 关注

2回答

  • 慕的地4203619
    2019-02-15 12:14:16
    已采纳

    function add 函数  var table=document.getElementById("table");  改成var table=document.getElementById("table").lastChild;

    太阳会发光呀

    Table的lastChild是什么元素啊,是不是最末的那一个tr

    2019-02-15 12:17:07

    共 1 条回复 >

  • 慕的地4203619
    2019-02-15 12:20:30

    tbody

    太阳会发光呀

    哦哦哦好的,谢谢你呀?

    2019-02-15 12:22:07

    共 1 条回复 >

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题