jquery - 使用 jquery 跳过特定 tr 的 strip 表组

标签 jquery css

我已经在这个问题上苦苦思索了太久。

我有一个基本表(除了包含 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

演示 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/

关于jquery - 使用 jquery 跳过特定 tr 的 strip 表组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11103997/

相关文章:

javascript - JQuery 未定义响应

javascript - jQuery 不向服务器发送 Cookie

html - 如果我添加此代码,则::after 缩放将从更高的像素开始

php - 更新文件的实时提要

javascript - 使用 JPlayer 制作 Web 小部件时出现问题

jquery - 如果 addClass 成功如何提示?

css - 如何让一个div覆盖不同行中的另一个div

css - 当有很多导航项时如何在 bootstrap 4 中水平滚动到导航栏

css - 悬停时图像滚动

javascript - 使悬停时的图像变暗 - twitter bootstrap 3.0