1

同じドキュメントに複数のテーブルがあり、各テーブルの最初の tbody 行から行の色を追加したいと考えています。

私は次のコードを持っています

$('table tbody tr').filter(':even').not('.spacer, .hidden, thead tr, tfoot tr').addClass('even');

しかし、それは私が望むように正確に機能していません。ページに表示されるテーブルの数に関係なく、行の強調表示が各テーブルの最初の tbody 行から開始されるように、上記のコードを手伝ってくれる人はいますか?

4

3 に答える 3

1

ここでチェックアウトしましたか: Zebra Striping (From jQuery Docs)。

とにかく、このコードを試してみてください。

<script src="jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("table tr").mouseover(function(){$(this).addClass("over");}).mouseout(function(){$(this).removeClass("over");});
        $("table tr:even").addClass("alt");
    });
</script>
于 2012-06-07T08:04:24.467 に答える
1

私が理解できることから、このセレクターはあなたのために働くはずです:

$('table tbody tr:first-child').addClass('even');

編集

最初の行から始めて、1 行おきにストライピングする場合は、代わりに次のようにします。

// ... and adding the .even class to :odd rows is just weird.
$('table tbody tr:nth-child(odd)').addClass('even');
于 2012-06-07T08:04:50.917 に答える
0

これを変更して$('table tbody:first-child tr:first-child')、すべてのテーブルから最初の tbody の最初の行が選択されるようにしてから、他の条件を追加します。

http://jsfiddle.net/hnG5w/

于 2012-06-07T08:04:59.940 に答える