如何根据行删除动态更改表行ID?

时间:2014-06-06 09:46:19

标签: jquery

我有一个包含5行的表,我的要求是动态添加/删除表行..同时动态处理表行id。

请在此处找到我的表格:

<table>
<tbody>
    <tr id='1'>
        <td>Row 1</td>
    </tr>
    <tr id='2'>
        <td>Row 2</td>
    </tr>
    <tr id='3'>
        <td>Row 3</td>
    </tr>
    <tr id='4'>
        <td>Row 4</td>    
    </tr>
    <tr id='5'>
        <td>Row 5</td>    
    </tr>
</tbody>

我在代码下使用jquery进行删除。对于前者我正在删除第二行,然后行id 2已被删除,行id应该动态交换。

在此处找到我的脚本:

var index = $(this).closest('tr').index();
if (index > 0) {
     $(this).closest('tr').remove();
}

对此有何帮助?

2 个答案:

答案 0 :(得分:1)

<强> Fiddel Demo

使用nextAll方法选择所有下一个元素..以更改ID。具有效果effectively

 $("tr").click(function () {
        $(this).nextAll().each(function () {
            var id = $(this).prop("id", function (index, idvalue) {
            return idvalue - 1;
           });
      });
        $(this).remove();
  });

答案 1 :(得分:0)

尝试在删除所有行时重置所有行的ID,

if (index > 0) {
 var cache = $(this).closest('tbody');
 $(this).closest('tr').remove();
 cache.find('tr').attr('id',function(i){ return (i + 1) }); 
}

DEMO