我有以下的HTML(即作为生成,所以我可以只与JS改变它):“多电平”相邻的兄弟选择
<table>
<tr>
<td class="header">
<h3>title 1</h3>
</td>
</tr>
<tr class="field_value">
<td></td>
</tr>
<tr class="field_value">
<td></td>
</tr>
<tr>
<td class="header">
<h3>title 2</h3>
</td>
</tr>
<tr class="field_value">
<td></td>
</tr>
....
我需要针对第一或最后的带有每个块的类“field_value”的trs。 我不能使用:nth-child,因为行的nr是动态的。我不能使用:最后一个孩子和第一个孩子,因为他们不是表中的第一个或最后一个孩子。 所以我唯一的机会是相邻的兄弟姐妹选择或使用JS。
我要选择每一个直接跟随包含td.header
一行行:
tr td.header + tr{
..
}
这不起作用,可能是因为将定向遵循其TR内td.header一个TR?任何想法如何解决这个问题?
编辑:
想出了一个办法做到这一点(这个具体的例子):
tr:not(.field_value) + tr.field_value{
..
}
- >我定位了所有行之后,不具有行field_value类。
CSS选择器无法遍历DOM向上/向后。 – Oriol
不可能使用CSS,因为没有父级或上一级兄弟选择器。 JavaScript将是必需的。 –
有时你可以通过从不同的角度看待事物来使不可能变为可能;) – cytofu