0

私はあまりにも長い間これに頭をぶつけてきました。

私は基本的なテーブルを持っています(thを含むものを除くすべてのTRはclassmeのクラスです)

<table>
<tr class="classme"><td>1</td></tr>
<tr class="classme"><td>1a</td></tr>
<tr class="classme"><td>2</td></tr>
<tr class="classme"><td>2a</td></tr>
<tr><th>skip me</th></tr>
<tr class="classme"><td>3</td></tr>
<tr class="classme"><td>3a</td></tr>
<tr ...><td>4</td></tr>
<tr ...><td>4a</td></tr>
<tr ...><td>5</td></tr>
<tr><td>5a</td></tr>
<tr><td>8</td></tr>
<tr><td>8a</td></tr>
<tr><td>9</td></tr>
<tr><td>9a</td></tr>
<tr><td>10</td></tr>
<tr><td>10a</td></tr>
<tr><th>skip me</th></tr>
<tr><td>11</td></tr>
<tr><td>11a</td></tr>
<tr><td>12</td></tr>
<tr><td>12a</td></tr>
</table>

trの背景色でストライプしたいと思います。

私はjQueryを使用しており、ここでいくつかの投稿を見つけました.Googleはストリッピングに関連していますが、任意の行をスキップするものを見つけることができませんでした.

私は試みました...

$("tr:nth-child(4n)").addClass("alt").prev().addClass("alt");

これはうまく機能しますが、スキップしたいものを数えます。

$("tr:not(tr th):nth-child(4n)").addClass("alt").prev().addClass("alt");

運がない。の結果に変数を代入しようとさえしました

var trs = $(".classme"); 
$(trs + ":nth-child(4n)").addClass("alt").prev().addClass("alt");

ただし、スタイルが正しく適用されていません。

add クラスが要素に配置されたときに、除外したい行がカウントされないように、選択した要素のセットを設定するにはどうすればよいですか?

編集:( 表の例では)1,1a,3,3a,5,5aをストライプしたいと思います。したがって、1 と 1a をグループと見なします。他のすべてのグループをストライピングしたい。

編集:jsFiddle で更新

4

1 に答える 1

1

これを試して:

var rows=   $('.classme:last').nextAll().not(':has(th)');
rows.filter(':even').addClass('evenClass)

.skips 下位 th タグを今すぐ編集

デモhttp://jsfiddle.net/YXDMH/

編集:TH含まれていないすべての行

var rows=   $('tr').not(':has(th)');
rows.filter(':even').addClass('evenClass').end().filter(':odd').addClass('odd')

http://jsfiddle.net/YXDMH/1/

于 2012-06-19T15:30:52.197 に答える