我发现了一个奇怪的错误,其中CSS :first-child
选择器似乎无法为我选择表格行。使用第一个子女选择具有特定班级的表格行
我有以下表
<table>
<tr class="a">
<td>a</td>
</tr>
<tr class="b">
<td>b</td>
</tr>
<tr class="b">
<td>b</td>
</tr>
<tr class="c">
<td>c</td>
</tr>
<tr class="c">
<td>c</td>
</tr>
</table>
我想tr.b.的第一个实例之前添加一行
此代码将无法正常工作:
$("table tr.b:first-child").before("<tr><td>using css selector</td></tr>");
但这将正常工作:
$("table tr.b").first().before("<tr><td>using jquery first()</td></tr>");
这是一个已知的问题,还是我做错了什么?我不介意使用jQuery,但我不明白为什么这不适用于纯CSS。
下面是它的一个小提琴:
是多么:第一,孩子是支撑工作...它看起来并不匹配一个标准的第一要素。 ..它总是代表父元素的第一个孩子......在你的情况下,'.b'元素不是父代的第一个孩子'.a'就是这样'.b:fist-child'不会返回什么 –
你在寻找'$(“table tr.b:first”)'? – Satpal
你的css选择器'table tr.b:first-child'检查'tr:first-child'是否有claas'。b'。在你的代码中,表格的第一个'tr'孩子有'.a'类。第二个tr是'nnth-child(2)'。) –