我已经在这个问题上苦苦思索了太久。
我有一个基本表(除了包含 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");
但它仍然算作样式应用不正确。
如何设置一组选定元素,以便在将添加类添加到元素上时,我要排除的行不在计数中?
编辑: 我想条纹(在表格示例中)1,1a,3,3a,5,5a。所以我认为 1 和 1a 是一组。我想对所有其他组进行条纹处理。
编辑: 更新为 jsFiddle
最佳答案
试试这个:
var rows= $('.classme:last').nextAll().not(':has(th)');
rows.filter(':even').addClass('evenClass)
现在编辑.skips lower th tag
编辑:所有不包含 TH
的行
var rows= $('tr').not(':has(th)');
rows.filter(':even').addClass('evenClass').end().filter(':odd').addClass('odd')
关于jquery - 使用 jquery 跳过特定 tr 的 strip 表组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11103997/