条带表组与jquery跳过特定tr

时间:2012-06-19 15:11:59

标签: jquery css

我一直在敲打这个太长时间。

我有一个基本表(所有TR除了那些包含th的类都是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类放到元素上时,我要排除的行不在count中?

修改 我想条纹(在表格示例中)1,1a,3,3a,5,5a。所以我认为1和1a是一个群体。我想把其他小组分开。

修改 已更新为jsFiddle

1 个答案:

答案 0 :(得分:1)

试试这个:

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

现在编辑.skips较低标签

DEMO http://jsfiddle.net/YXDMH/

编辑:包含<{1}}的所有行

TH

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