有没有办法选择匹配(或不匹配)任意选择器的每个第n个孩子?例如,我想选择每个奇数表行,但是在行的子集中:
table.myClass tr.row:nth-child(odd) {
...
}
Run Code Online (Sandbox Code Playgroud)
<table class="myClass">
<tr>
<td>Row
<tr class="row"> <!-- I want this -->
<td>Row
<tr class="row">
<td>Row
<tr class="row"> <!-- And this -->
<td>Row
</table>
Run Code Online (Sandbox Code Playgroud)
但:nth-child()似乎只计算所有tr元素,无论它们是否属于"行"类,所以我最终得到一个偶数 "行"元素而不是我正在寻找的两个元素.同样的事情发生在:nth-of-type().
有人可以解释原因吗?
我对nth-of-type伪类有点困惑,以及它应该如何工作 - 特别是与nth-child类相比.
也许我有错误的想法,但鉴于这种结构
<div class="row">
<div class="icon">A</div>
<div class="icon">B</div>
<div class="label">1</div>
<div class="label">2</div>
<div class="label">3</div>
</div>
Run Code Online (Sandbox Code Playgroud)
..第三个子元素(第一个带有类标签)应该(也许?)可以选择
.row .label:nth-of-type(1) {
/* some rules */
}
Run Code Online (Sandbox Code Playgroud)
但是,至少在Chrome中,它不会选择它.只有当它是行中的第一个子节点时才会起作用,它与nth-child相同 - 因此,这与nth-of-type有什么区别?