如何选择子节点但第一个元素

1 html css css-selectors

所以我得到了一张桌子,我希望在所有<tr>元素中设置一个样式,但第一个.例:

<table>
    <tr><th>This receives header styles</th></tr>
    <tr><td>This receives item styles</td></tr>
    <tr><td>This receives item styles</td></tr>
    <tr><td>This receives item styles</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我知道我必须使用选择器,但我不知道怎么也无法在网上找到它= S.

Bol*_*ock 6

通用兄弟选择器~允许您选择一个接一个的每个元素.您可以使用此选择器:

table tr:first-child ~ tr
Run Code Online (Sandbox Code Playgroud)

适用于IE7 +.

如果您可以修改HTML以使其更具语义,则可以将第一行的th单元格放在a中thead,其余部分放在tbody:

<table>
  <thead>
    <tr><th>This receives header styles</th></tr>
  </thead>
  <tbody>
    <tr><td>This receives item styles</td></tr>
    <tr><td>This receives item styles</td></tr>
    <tr><td>This receives item styles</td></tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

然后使用此选择器:

table tbody tr
Run Code Online (Sandbox Code Playgroud)

适用于较旧的浏览器,以备不时之需.