Как получить с JavaScript количество строк в HTML table
с идентификатором и именем?
JavaScript, чтобы получить количество строк таблицы HTML
Ответ 1
В принципе:
var rows = document.getElementById(tableId).getElementsByTagName("tr").length;
Или, если между ними есть <tbody>
,
var rows = document.getElementById(tableId).getElementsByTagName("tbody")[0].getElementsByTagName("tr").length;
Ответ 2
Вы можете использовать свойство .rows
и проверить его .length
, например:
var rowCount = document.getElementById('myTableID').rows.length;
Ответ 3
$('tableName').find('tr').length
Ответ 4
Это еще один вариант, использующий Jquery и получающий только tbody
строки (с данными) и игнорирующий thead/tfoot
.
$("#tableId > tbody > tr").length
console.log($("#myTableId > tbody > tr").length);
.demo {
width:100%;
height:100%;
border:1px solid #C0C0C0;
border-collapse:collapse;
border-spacing:2px;
padding:5px;
}
.demo caption {
caption-side:top;
text-align:center;
}
.demo th {
border:1px solid #C0C0C0;
padding:5px;
background:#F0F0F0;
}
.demo td {
border:1px solid #C0C0C0;
text-align:left;
padding:5px;
background:#FFFFFF;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="myTableId" class="demo">
<caption>Table 1</caption>
<thead>
<tr>
<th>Header 1</th>
<th>Header 2</th>
<th>Header 3</th>
<th>Header 4</th>
</tr>
</thead>
<tbody>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan=4 style="background:#F0F0F0"> </td>
</tr>
</tfoot>
</table>
Ответ 5
Если таблица имеет ID
:
const tableObject = document.getElementById(tableId);
const rowCount = tableObject[1].childElementCount;
Если в таблице есть Class
:
const tableObject = document.getElementsByClassName(tableClass);
const rowCount = tableObject[1].childElementCount;
Если в таблице есть Name
:
const tableObject = document.getElementsByTagName('table');
const rowCount = tableObject[1].childElementCount;
Примечание. index 1
представляет тег <tbody>
.