jquery 实现增加一行tr,删除一行tr

<?php
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>加减tr</title>
    <script src="jquery.1.12.js"></script>
</head>
<body>
   <center>
       <table id="box" border='1'>
           <tr>
               <td>ID</td>
               <td>姓名</td>
               <td>职业</td>
               <td>薪水</td>
           </tr>
           <tr>
               <td>1</td>
               <td>张三</td>
               <td>php工程师</td>
               <td>20k</td>
               <td><a href="javascript:void(0);" class="deltr">-移除</a></td>
           </tr>
           <tr>
               <td><a href="javascript:void(0);" class="addtr">+新增</a></td>
           </tr>
       </table>
   </center>

    
</body>
<script>
     $(".addtr").click(function(){
         //    //注意::反斜杠可以转译
      //   var html="<tr>\
               // <td>1</td>\
               // <td>张三</td>\
               // <td>php工程师</td>\
               // <td>20k</td>\
               // <td>-</td>\
            //        </tr>";
            // $(this).parents('tr').prev().after(html);
            // 第二种新增方法
            var _this=$(this).parents('tr').prev();
            var otr=_this.clone();
                _this.after(otr);

     })
         //单独给clss选择器,是不能够删除克隆后的元素的
         //如果在上面的clone()里加true,难么此注释的代码可以实现删除一行
         //克隆如果不加true说明只克隆元素不克隆事件
     // $(".deltr").click(function(){
     //      $(this).parents("tr").remove();
     // })
     

      //需要把移除绑定到加载函数内(委托事件)
      $(document).on('click','.deltr',function(){
          //当前元素的父级的父级的元素(一行,移除
          $(this).parents("tr").remove();
      })
    
</script>
</html>
可以按照以下步骤实现: 1. 在table的thead中添加一个新的th元素,用于显示序号。可以设置一个类名或者ID,方便后续操作。 ```html <thead> <tr> <th>序号</th> <th>姓名</th> <th>年龄</th> </tr> </thead> ``` 2. 在table的tbody中新增一行tr元素,并在其中添加td元素,第一个td元素用于显示序号。 ```html <tbody> <tr> <td class="index"></td> <td>张三</td> <td>20</td> </tr> </tbody> ``` 3. 使用jQuery的each方法遍历所有的行tr,依次给每个序号td元素赋值为当前行的索引值加1。 ```javascript $('tbody tr').each(function(index) { $(this).find('.index').text(index + 1); }); ``` 4. 当需要新增一行tr时,先在tbody中新增一个空白的tr元素,并赋予一个类名或者ID,方便后续操作。 ```html <tbody> <tr> <td class="index"></td> <td>张三</td> <td>20</td> </tr> <tr class="new-row"> <td class="index"></td> <td></td> <td></td> </tr> </tbody> ``` 5. 在对应的按钮或事件中,使用jQuery的clone方法将新行的HTML结构复制一份,并插入到tbody中新增的空白tr之前。 ```javascript $('.add-row-btn').click(function() { var newRow = $('.new-row').clone(); $('tbody').append(newRow); newRow.removeClass('new-row'); $('tbody tr').each(function(index) { $(this).find('.index').text(index + 1); }); }); ``` 6. 新增完成后,再次遍历所有行tr,依次给每个序号td元素赋值为当前行的索引值加1。 完整代码如下: ```html <table> <thead> <tr> <th>序号</th> <th>姓名</th> <th>年龄</th> </tr> </thead> <tbody> <tr> <td class="index">1</td> <td>张三</td> <td>20</td> </tr> <tr> <td class="index">2</td> <td>李四</td> <td>22</td> </tr> <tr> <td class="index">3</td> <td>王五</td> <td>25</td> </tr> <tr class="new-row"> <td class="index"></td> <td></td> <td></td> </tr> </tbody> </table> <button class="add-row-btn">新增一行</button> <script> $('tbody tr').each(function(index) { $(this).find('.index').text(index + 1); }); $('.add-row-btn').click(function() { var newRow = $('.new-row').clone(); $('tbody').append(newRow); newRow.removeClass('new-row'); $('tbody tr').each(function(index) { $(this).find('.index').text(index + 1); }); }); </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值