web-dev-qa-db-ja.com

HTMLテーブルの行数を取得します

これについての答えを探してインターネットを閲覧しましたが、解決策が見つかりません。リンクボタンが押されたときにHTMLテーブルにある行の数をカウントしたい。誰かが私を助けてくれますか?

これは私がこれまでに持っているものです:

 $('#HypSelectAll').click(function () {
     var count = $('#gvPerformanceResult').children().length;
     for (i = 0; i < count; i++) {
        alert(i);
     }
 });

しかし、何らかの理由で、テーブルに約12行あるにもかかわらず、0を返しますか? ID名を確認しましたが、正しいです。

30
Code Ratchet

試してください:

var count = $('#gvPerformanceResult tr').length;
55
John Conde
var x = document.getElementById("myTable").rows.length;
65
treeFan

次のコードは、テーブルのIDが「MyTable」であることを前提としています

<script language="JavaScript">
<!--
var oRows = document.getElementById('MyTable').getElementsByTagName('tr');
var iRowCount = oRows.length;

alert('Your table has ' + iRowCount + ' rows.');
//-->
</script>

回答: http://www.delphifaq.com/faq/f771.shtml 、これはグーグルでのクエリに対する最初の結果です: " HTMLテーブルの行数を取得する ";)

6
Al_th

DOMでは、tr要素は(暗黙的または明示的に)tbodythead、またはtfootの子であり、table(したがって0になります)。一般的な答えは次のとおりです。

var count = $('#gvPerformanceResult > * > tr').length;

これには、テーブルの行が含まれますが、内部テーブルの行は除外されます。

5

まあそれはあなたがテーブルに持っているものに依存します。

次のいずれか1つのテーブルしかない場合

var count = $('#gvPerformanceResult tr').length;

サブテーブルを心配しているが、これがtbodyとtheadで動作しない場合(使用する場合)

var count = $('#gvPerformanceResult>tr').length;

これによってどこで機能するか(ただし、率直に言って過剰です。)

var count = $('#gvPerformanceResult>tbody>tr').length;
0
Mark Broadhurst