使用jquery计算表中的行数

php*_*meh 9 javascript

<head>
<script language="javascript">
// must have the onload handler
onload = function countRows(){
    var rows = document.getElementById('myTableId').getElementsByTagName('tbody')[0].rows.length;
    alert( rows);
// outputs 3
}

</script>
</head>

<body>
    <table id="myTableId">
        <tbody>
            <tr><td></td><td><input onclick="doA_Function_That_Includes_CountRows()" />
            </td></tr>
            <tr><td></td><td></td></tr>
            <tr><td></td><td></td></tr>
        </tbody>
    </table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Mad*_*iha 17

试试这个:

var rows = document.getElementById('myTableId').getElementsByTagName('tbody')[0].getElementsByTagName('tr').length;
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/y8URn/

它将计算<tr>s中的s 数,而s <tbody>又是表中的行数.

请注意,它不会仅仅在表体中计算中的所有行.如果你在tbody之外有一个或一个甚至一行,它将不计算在内.<thead><tfoot>


Fel*_*ing 11

另一种方法,使用rows属性[MDN]:

var num = document.getElementById('myTableId').rows.length;
Run Code Online (Sandbox Code Playgroud)

如果您只想计算第一个tbody元素的行,请先选择它(tBodyproperty [docs])

var num = document.getElementById('myTableId').tBodies[0].rows.length;
Run Code Online (Sandbox Code Playgroud)

  • @phpmeh:您看不到不存在的行.也就是说,`.rows`集合是实时的,并且会在从表中添加/删除行时更新. (3认同)

Ata*_*hev 5

这是一个有效的实现:

var table = document.getElementById("myTableId");
var tbody = table.tBodies[0];
alert(tbody.rows.length);
Run Code Online (Sandbox Code Playgroud)

和一个示例jsFiddle:http://jsfiddle.net/9a6zK/