Ответ 1
Вот так:
$("#myTable > tbody > tr").length
Селектор a > b
выбирает все b
элементы, которые являются прямыми дочерними элементами элемента a
. Поэтому этот селектор не будет соответствовать строкам в вложенных таблицах.
У меня есть таблица 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 для определения количества строк в части тела таблицы?
Спасибо!
Вот так:
$("#myTable > tbody > tr").length
Селектор a > b
выбирает все b
элементы, которые являются прямыми дочерними элементами элемента a
. Поэтому этот селектор не будет соответствовать строкам в вложенных таблицах.
Вы пробовали...
$("#myTable tbody tr").length
UPDATE: как указано в комментарии - приведенный выше пример не учитывает вложенные таблицы. Если вы также захотите это сделать, вы хотите вместо этого использовать родительский/дочерний селектор.
$("#myTable > tbody > tr").length
используйте это, если у вас нет идентификатора таблицы или просто хотите обобщить таблицы
$('table.table').find('tbody').children().length;
var amountOfRows = $("#myTable tbody tr").length;
alert(amountOfRows);
Переменная amountOfRows будет содержать количество строк. Вы также можете использовать $( "# myTable tbody tr" ). Size Но это ярлык для .length
Если используется в вложенных таблицах, см. ответ SLaks
Существует несколько способов сделать это, вот два из них
var totalRows = $('tbody > tr > td').length
var totalRows2 = $('tbody').find('td').length
В параметрах var totalRows и totalRows2 будет указано количество 'td'
, находящихся внутри tbody