我创建了一行后,删除的事件为什么把全部给删除了?

来源:9-22 编程练习

沉默技术博客

2017-08-22 11:22

<!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 hang=document.getElementsByTagName("td");

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

                    backg(hang[i])

                }

          

      }    

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

         function backg(obj){

             obj.onmouseover=function(){

                 obj.style.backgroundColor="red";

             }

             obj.onmouseout=function(){

                 obj.style.backgroundColor="yellow";

             }

         }

     

 

 

     

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

      var num=2;

     function tianjia(){

         num++;

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

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

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

         TD.innerHTML="xh00"+num;

         TD1.innerHTML="第"+num+"个学生";

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

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

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

         TABLE.appendChild(TR);

         TABLE.appendChild(TD);

         TABLE.appendChild(TD1);

         TABLE.appendChild(TD2);

         var hang=document.getElementsByTagName("td");

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

             backg(hang[i]);

         }

     }

   

     

     // 创建删除函数

     function DELET(obj){

         var shanchu=obj.parentNode.parentNode;

         shanchu.parentNode.removeChild(shanchu);

     }



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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

 </body>

</html>


写回答 关注

1回答

  • 学习一波黑
    2017-08-22 16:17:09

    你添加TD,TD1,TD2 时,应该添加到TR中,不是你写的TABLE里面,所以才造成删除时把TABLE中全删除了

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题