Table 交替颜色 nth-child:not(.class)
Table Alternating Color nth-child:not(.class)
我在 table 中有多个 <tr>
,其中一些后跟 <tr class="colapsed">
,其中包含一些详细信息。并非所有 <tr>
标签都有详细信息。
我需要创建交替颜色但忽略折叠的 class。我已尝试使用 table>tbody>tr:nth-child(odd) { background:red }
,但它似乎无法正常工作。
有什么想法吗?
table>tbody>tr:not(.collapsed):nth-child(odd) {
background: red
}
.collapsed {
display: none
}
<table class="rwd-table table-auto doubletr">
<tbody>
<tr class="">
<td>
<div>2016-10-02</div>
</td>
<td>
<div>2016-02-03</div>
</td>
<td>
<div>Pagamento por Multibanco</div>
</td>
<td>
<div></div>
</td>
<td>
<div>90</div>
</td>
<td>
<div>2895.01</div>
</td>
<td>
<div class="expand-wrap">
<a class="expand" href="#"><i class="icon icon-plus"></i></a>
</div>
</td>
</tr>
<tr class="collapsed">
<td colspan="7">
details here
</td>
</tr>
<tr>
<td>
<div>2016-10-02</div>
</td>
<td>
<div>2016-02-03</div>
</td>
<td>
<div>Pagamento por Multibanco</div>
</td>
<td>
<div></div>
</td>
<td>
<div>90</div>
</td>
<td>
<div>2895.01</div>
</td>
<td>
<div class="expand-wrap">
<a class="expand" href="#"><i class="icon icon-plus"></i></a>
</div>
</td>
</tr>
<tr class="collapsed">
<td colspan="7">
details here
</td>
</tr>
<tr>
<td>
<div>2016-10-02</div>
</td>
<td>
<div>2016-02-03</div>
</td>
<td>
<div>Pagamento por Multibanco</div>
</td>
<td>
<div></div>
</td>
<td>
<div>90</div>
</td>
<td>
<div>2895.01</div>
</td>
<td>
<div class="expand-wrap">
<a class="expand" href="#"><i class="icon icon-plus"></i></a>
</div>
</td>
</tr>
<tr>
<td>
<div>2016-10-02</div>
</td>
<td>
<div>2016-02-03</div>
</td>
<td>
<div>Pagamento por Multibanco</div>
</td>
<td>
<div></div>
</td>
<td>
<div>90</div>
</td>
<td>
<div>2895.01</div>
</td>
<td>
<div class="expand-wrap">
<a class="expand" href="#"><i class="icon icon-plus"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
答案here没有描述我的情况。我试图防止奇怪的事件考虑所有折叠的标签 class.
替代分辨率
对于那些处于相同情况的人。
由于 :nth-
选择器不关心可见性,我使用一个简单的 jquery 函数解决了我的问题。
var n = 1;
$("table>tbody>tr:not('[class*=collapsed]')").each(function() {
if (n % 2) { //even
$(this).css("background", "red");
} else { //odd
$(this).css("background", "yellow");
}
n += 1;
})
鉴于 :nth-
选择器不关心可见性,我认为这是不可能的。您可以 :not
排除不需要的,但 :nth
不会在其算法中跳过它。也许这会有所帮助?
我在 table 中有多个 <tr>
,其中一些后跟 <tr class="colapsed">
,其中包含一些详细信息。并非所有 <tr>
标签都有详细信息。
我需要创建交替颜色但忽略折叠的 class。我已尝试使用 table>tbody>tr:nth-child(odd) { background:red }
,但它似乎无法正常工作。
有什么想法吗?
table>tbody>tr:not(.collapsed):nth-child(odd) {
background: red
}
.collapsed {
display: none
}
<table class="rwd-table table-auto doubletr">
<tbody>
<tr class="">
<td>
<div>2016-10-02</div>
</td>
<td>
<div>2016-02-03</div>
</td>
<td>
<div>Pagamento por Multibanco</div>
</td>
<td>
<div></div>
</td>
<td>
<div>90</div>
</td>
<td>
<div>2895.01</div>
</td>
<td>
<div class="expand-wrap">
<a class="expand" href="#"><i class="icon icon-plus"></i></a>
</div>
</td>
</tr>
<tr class="collapsed">
<td colspan="7">
details here
</td>
</tr>
<tr>
<td>
<div>2016-10-02</div>
</td>
<td>
<div>2016-02-03</div>
</td>
<td>
<div>Pagamento por Multibanco</div>
</td>
<td>
<div></div>
</td>
<td>
<div>90</div>
</td>
<td>
<div>2895.01</div>
</td>
<td>
<div class="expand-wrap">
<a class="expand" href="#"><i class="icon icon-plus"></i></a>
</div>
</td>
</tr>
<tr class="collapsed">
<td colspan="7">
details here
</td>
</tr>
<tr>
<td>
<div>2016-10-02</div>
</td>
<td>
<div>2016-02-03</div>
</td>
<td>
<div>Pagamento por Multibanco</div>
</td>
<td>
<div></div>
</td>
<td>
<div>90</div>
</td>
<td>
<div>2895.01</div>
</td>
<td>
<div class="expand-wrap">
<a class="expand" href="#"><i class="icon icon-plus"></i></a>
</div>
</td>
</tr>
<tr>
<td>
<div>2016-10-02</div>
</td>
<td>
<div>2016-02-03</div>
</td>
<td>
<div>Pagamento por Multibanco</div>
</td>
<td>
<div></div>
</td>
<td>
<div>90</div>
</td>
<td>
<div>2895.01</div>
</td>
<td>
<div class="expand-wrap">
<a class="expand" href="#"><i class="icon icon-plus"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
答案here没有描述我的情况。我试图防止奇怪的事件考虑所有折叠的标签 class.
替代分辨率
对于那些处于相同情况的人。
由于 :nth-
选择器不关心可见性,我使用一个简单的 jquery 函数解决了我的问题。
var n = 1;
$("table>tbody>tr:not('[class*=collapsed]')").each(function() {
if (n % 2) { //even
$(this).css("background", "red");
} else { //odd
$(this).css("background", "yellow");
}
n += 1;
})
鉴于 :nth-
选择器不关心可见性,我认为这是不可能的。您可以 :not
排除不需要的,但 :nth
不会在其算法中跳过它。也许这会有所帮助?