使用伪元素jquery

使用伪元素jquery,jquery,Jquery,我有一个HTML表,其中包含一些和,我需要为某些元素设置一些属性。因此,问题是: 如果我写入选择器: 它工作正常,但如果我尝试使用特定的表,则不会发生任何情况: $("#tableTit tr:not(#tableTit tr:first)").css("background","#ccc"); 我遗漏了什么?无需再次指定ID。只要这样做: $('#tableTit tr:not(:first)').css(...); 或者正如@bažmegakapa在评论中所建议的那样: $('#tabl

我有一个HTML表,其中包含一些
,我需要为某些
元素设置一些属性。因此,问题是:

如果我写入选择器:

它工作正常,但如果我尝试使用特定的表,则不会发生任何情况:

$("#tableTit tr:not(#tableTit tr:first)").css("background","#ccc");

我遗漏了什么?

无需再次指定ID。只要这样做:

$('#tableTit tr:not(:first)').css(...);
或者正如@bažmegakapa在评论中所建议的那样:

$('#tableTit tr').not(':first').css(...);

$('tableTit tr')。not(':first')
更有效。
:first
是一个jQuery扩展,一个特殊的选择器。原生
querySelectorAll()
DOM方法不支持这些,因此jQuery必须启动自己的选择器引擎。始终尝试分离本机选择器和扩展选择器。多读一些关于这个的。啊,很高兴知道。出于某种原因,我一直认为jQuery比这更聪明。谢谢。@FishBasketGordo如果jQuery必须分析和重建所有选择器,那么jQuery将非常困难,而且容易出错,这也是一个巨大的性能噩梦。程序员应该知道如何使它以最好的方式工作(这就是为什么我们还没有被猴子取代的原因)。该工具不对不负责任的编码负责。@Loktar是的,我只是在测试一些代码
$('#tableTit tr').not(':first').css(...);