60

我正在动态创建表行。所以每次我添加一行时,我都需要获取最后一行的 ID,<tr>这样我就可以<tr>ID = "(the last row's ID) + 1". 有没有办法使用jQuery获取最后一行的ID?

4

8 回答 8

128
$('#yourtableid tr:last').attr('id');
于 2012-05-24T05:13:13.730 回答
14
var id = $('table tr:last').attr('id');
于 2012-05-24T05:13:34.110 回答
13

老问题,但这是使用 JQuery 遍历的另一种方式,它更快一点:

$("#TableId").find("tr").last();

如果它们都是连续的,则标识行的另一种方法是获取行数 + 1。

$("#TableId").find("tr").length + 1
于 2015-09-28T19:21:27.820 回答
5

2019

自 jQuery 3.4.0 起:last已弃用,请改用 .last() ,如下所示:

var id = $('#mytable tr').last().attr('id');
于 2019-10-09T07:25:10.937 回答
2
var tid=$('#tableid tr:last').attr('id');
alert(tid);
于 2014-12-12T05:12:11.653 回答
1

有两种方法,它们都$('#tableid tr:last')有效$('#tableid tr').last()

于 2015-10-23T07:17:19.920 回答
0

表的最后一行 id

var lastid = $('table tr:last').attr('id');
var str = lastid .replace(/[^0-9]+/ig,"");
于 2014-12-12T05:09:53.477 回答
0

你不需要为此使用 jQuery。您可以在 CSS 计数器中处理它。计数器自动增加索引值,并且它还处理数字的重新排列,以防从中间删除一行。CSS 计数器可以按如下方式实现。将其插入到处理 HTML 表格样式的 CSS 文件中。

  #yourtableid tbody 
    {
      counter-reset: tablerow;
    }
  #yourtableid tbody .yourHTMLcellclass::before 
    {
  counter-increment: tablerow;
  content: counter(tablerow)". ";
    }
于 2016-01-30T16:27:23.800 回答