为了账号安全,请及时绑定邮箱和手机立即绑定

无法删除或者添加?????

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

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

  <script type="text/javascript"> 

  

    window.onload = function(){

                  

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

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

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

            tr[i].onmouseover =  function(){

                this.style.backgroundColor = "#f2f2f2";

            }

            tr[i].onmouseout = function(){

                this.style.backgroundColor = "#fff";

            }    

        }

   }

     

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

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

    var num = 2;

    function createTr(){

      num++;

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

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

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

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

      td01.innerHTML = "xh00"+num;

      td02.innerHTML = "XXXX"+num;

      td03.innerHTML = '<a href="javascript:;" onclick="del()">删除</a>';

      table.appendChild(tr);

      tr.appendChild(td01);

      tr.appendChild(td02);

      tr.appendChild(td03);

    }   

     

     // 创建删除函数

    function del(){

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

      table.removeChild(table.childNodes[tr.length-1]);

    }

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

     </tr>


     <tr>

    <td>xh002</td>

    <td>刘小芳</td>

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

     </tr>  


     </table>

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

 </body>

</html>


正在回答

2 回答

删除函数需要传入参数,定位删除的是哪一行:

  1. 触发事件中onclick="del()"改为onclick="del(this)"

  2. del方法

 function del(obj){      
     table = obj.parentNode.parentNode.parentNode; //定位到table节点     
     var tr = obj.parentNode.parentNode; //定位到与a标签在同一行的tr节点      
     table.removeChild(tr);    
 }


0 回复 有任何疑惑可以回复我~

无法添加问题的解决方案:把整个script代码放到</body>标签后面

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

无法删除或者添加?????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信