JQuery - 获取表体中的行数

时间:2010-05-12 14:06:19

标签: jquery

我有一个HTML表,定义如下:

<table id="myTable" cellpadding="0" cellspacing="0">
  <thead>
    <tr>
      <th>First Name</th>
      <th>Last Name</th>
      <th>Birth Date</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>John</td>
      <td>Smith</td>
      <td>03-11-1980</td>
    </tr>
  </tbody>
</table>

我想了解如何确定 tbody 部分中的行数,而不是一般的表格。如何使用JQuery来确定表的tbody部分中有多少行?

谢谢!

5 个答案:

答案 0 :(得分:57)

像这样:

$("#myTable > tbody > tr").length

a > b选择器会选择<{1}}元素 direct 子元素的所有b个元素。因此,此选择器将不匹配嵌套表中的行。

答案 1 :(得分:3)

你试过......

$("#myTable tbody tr").length

更新:如评论中所述 - 上面的示例不考虑嵌套表。如果您想要覆盖它,则需要使用parent/child selectors代替。

$("#myTable > tbody > tr").length

答案 2 :(得分:1)

var amountOfRows = $("#myTable  tbody  tr").length;
alert(amountOfRows);

变量amountOfRows将保存行数。你也可以使用$(“#myTable tbody tr”)。size 但这是.length

的捷径

如果在嵌套表上使用,请参阅SLaks answer

答案 3 :(得分:1)

如果您没有表ID或只想表格

,请使用此功能
$('table.table').find('tbody').children().length;

答案 4 :(得分:0)

有几种不同的方法可以做到这一点,这里有两个

 var totalRows = ​$('tbody > tr > td').​​​​​length

 var totalRows2 = $('tbody').find('td').length

var totalRows totalRows2 将包含'td'内的tbody