1

同じページにいくつかのテーブルがあります。ページ上の各テーブルの行を個別にカウントし、行数が偶数か奇数かに応じて、個別のテーブルごとに異なる CSS を適用する jQuery コードを作成しようとしています。

jQuery の .each 関数を使用して、各テーブルを選択できます。しかし、「this」キーワードを使用して、その個々のテーブルの行数をカウントする方法が必要です。私が使えるテーブルが1つだけあれば

var amountOfRows = $(".data  tbody  tr").length;

ただし、複数のテーブルがあるため、「this」キーワードを組み込んで各行の長さを個別に取得するコードが必要です。

したがって、「this」キーワードを使用して、ページ上の各テーブルの行数を読み取る方法を知りたいだけです。

ここに基本的な jsfiddle があります: http://jsfiddle.net/49jNn/1/

これが私の HTML コードの簡略版です。1 ページに 2 ~ 4 個あります。

<table class="data">
    <thead>
        //head row
    </thead>
    <tfoot>
        //footer row
    </tfoot>

    //I want the number of these rows
    <tr>
        //multiple <td>
    </tr>
    <tr>
        //multiple <td>
    </tr>
    <tr>
        //multiple <td>
    </tr>
</table>

これまでの私のjQueryコードは、ページ上のテーブルの数をループできました。

$('table').each(function() {
    alert("table");
});
4

2 に答える 2

3

使用できます$(selector, context)

$('tbody tr', this).length;

またはfind方法:

$(this).find('tbody tr').length;
于 2013-01-02T01:20:36.217 に答える
0

各セレクターで、次のようなものを試してみてください。

$('table').each(function(e, table) {
    console.log(['Table length', $(table).find('tbody tr').length]);
});​

ここで、eはインデックスになり、テーブルは各ステートメントの現在のテーブルになります。

$(table)はjavascriptオブジェクトを受け取り、それをjQueryオブジェクトとして参照します。これにより、.find('tbody tr')を使用してそのテーブルの行を取得できます。

于 2013-01-02T01:41:04.260 に答える