table.rows.length返回表中的行数,包括<thead>
标记中的行。我需要的是,如果有一个标题行(在<thead>
内(只有<th>
元素,我想忽略该行,并且我只需要其中有数据的行数,而不需要标题元素。
注意:我不能使用table.rows.length - 1
,因为我不能修改Javascript。我只能在HTML端进行修改。这是代码示例片段。这里我需要算4而不是5。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Sample</title>
<script type="text/javascript">
function call(){
alert(document.getElementById('tab').rows.length);
}
</script>
</head>
<body onload="call()">
<table id="tab" border="1">
<thead>
<th>
header 1
</th>
<th>
header 2
</th>
</thead>
<tbody>
<tr>
<td> data1</td>
<td> data1</td>
</tr>
<tr>
<td> data2</td>
<td> data2</td>
</tr>
<tr>
<td> data3</td>
<td> data3</td>
</tr>
<tr>
<td> data</td>
<td> data4</td>
</tr>
</tbody>
</table>
</body>
</html>
将id
重新分配给<tbody>
元素:
<table border="1">
<tbody id="tab">
...
由于这个元素是<HTMLTableSectionElement>
,它也有rows
(HTMLCollection(属性,所以您根本不需要对JS进行任何更改。