2

Java 脚本中的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>
4

1 回答 1

2

重新分配id<tbody>元素:

<table border="1">
    <tbody id="tab">
    ...

由于这个元素是<HTMLTableSectionElement>一个,它也有rows(HTMLCollection) 属性,所以你根本不需要在你的 JS 中做任何改变。

于 2012-12-24T12:41:28.220 回答