我发现了一个奇怪的错误,即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一起使用。
这是一个小玩意儿:
这就是假定的工作方式。:first
伪类等效于:eq(0)
。也可以写成:lt(1)
。尽管此元素仅匹配一个元素,但:first-child
可以匹配多个元素:每个父元素一个。
试试这个:
$("table tr.b:first").before("<tr><td>css selector</td></tr>");
或者
$("table tr.b:eq(0)").before("<tr><td>css selector</td></tr>");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句