问答详情
源自:9-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 td=document.getElementsByTagName("td");
         for(var i=0;i<td.length;i++){
             td[i].onmouseover=function(){
                 this.style.backgroundColor="#f2f2f2";
                 }
                  td[i].onmouseout=function(){
                 this.style.backgroundColor="#fff";
                 }
         }
  
    
 
  }
    
      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
     function add(){
        
    
          var a1=document.createElement("td");
          var a2=document.createElement("td");
          var a3=document.createElement("td");
          var aa=document.createElement("a");
          var a=document.createElement("tr");
          var table=document.getElementsByTagName("table")[0];
          a1.innerHTML="xh00"+parseInt(table.childNodes.length+1);
          a2.innerHTML=table.childNodes.length+1+"号";
          aa.innerHTML="删除";
          aa.href="javascript:delet();";
          a3.appendChild(aa);
          a.appendChild(a1);
          a.appendChild(a2);
          a.appendChild(a3);
          table.appendChild(a);
          //alert("table");
        
     }
      
    
     // 创建删除函数
     function delet(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 href="javascript:delet(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
    </tr>

    <tr>
  <td>xh002</td>
  <td>刘小芳</td>
  <td><a href="javascript:delet(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
    </tr> 

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


提问者:qq_弃子_0 2016-11-16 16:33

个回答

  • qq_一个人乐的小兔子_03311008
    2016-11-24 14:14:00
    已采纳

    你的删除点击事件书写有误,href为链接地址的填写,你需要自己加一个点击事件onclick,你可以去了解一下href和onclick书写点击事件的不同,把你的代码改成href="javascript:void(0)" onclick="delet(this)"的格式就行了

  • 我不是管家
    2016-11-16 16:48:04

    你需要绑定点击事件,a标签的href="javascript:delet(this);并不能执行js的delet函数

    <!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 td=document.getElementsByTagName("td");
             for(var i=0;i<td.length;i++){
                 td[i].onmouseover=function(){ 
                     this.style.backgroundColor="#f2f2f2";
                     }
                      td[i].onmouseout=function(){ 
                     this.style.backgroundColor="#fff";
                     }
             }
      
         
      
      }
         
          // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
         function add(){
             
         
              var a1=document.createElement("td");
              var a2=document.createElement("td");
              var a3=document.createElement("td");
              var aa=document.createElement("a");
              var a=document.createElement("tr");
              var table=document.getElementsByTagName("table")[0];
              a1.innerHTML="xh00"+parseInt(table.childNodes.length+1);
              a2.innerHTML=table.childNodes.length+1+"号";
              aa.innerHTML="删除";
              aa.href="javascript:delet();";
              a3.appendChild(aa);
              a.appendChild(a1);
              a.appendChild(a2);
              a.appendChild(a3);
              table.appendChild(a);
              //alert("table");
             
         }
          
         
         // 创建删除函数
         function delet(obj){
             var tr=obj.parentNode.parentNode;
             alert(tr)
             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 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="add()" />   <!--在添加按钮上添加点击事件  -->
     </body>
    </html>