Подтвердить что ты не робот

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 для определения количества строк в части тела таблицы?

Спасибо!

4b9b3361

Ответ 1

Вот так:

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

Селектор a > b выбирает все b элементы, которые являются прямыми дочерними элементами элемента a. Поэтому этот селектор не будет соответствовать строкам в вложенных таблицах.

Ответ 2

Вы пробовали...

$("#myTable tbody tr").length

UPDATE: как указано в комментарии - приведенный выше пример не учитывает вложенные таблицы. Если вы также захотите это сделать, вы хотите вместо этого использовать родительский/дочерний селектор.

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

Ответ 3

используйте это, если у вас нет идентификатора таблицы или просто хотите обобщить таблицы

$('table.table').find('tbody').children().length;

Ответ 4

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

Переменная amountOfRows будет содержать количество строк. Вы также можете использовать $( "# myTable tbody tr" ). Size Но это ярлык для .length

Если используется в вложенных таблицах, см. ответ SLaks

Ответ 5

Существует несколько способов сделать это, вот два из них

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

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

В параметрах var totalRows и totalRows2 будет указано количество 'td', находящихся внутри tbody