问题描述
选择器级别3仅允许伪类中的单个简单选择器使用:not()
。作为jQuery选择器,它之所以起作用是因为jQuery扩展了其:not()
功能以允许 任何选择器(如.not()
方法)。
但是,您的第二种语法是Selectors4中提议的增强功能:not()
之一,并且等效于您的第一种。尽管该示例(无论如何在本文撰写时显示)显示了一系列:not()
选择器,但该建议说:
否定伪类:not(X)是将选择器列表作为参数的功能表示法。它代表一个其参数未表示的元素。
在这里,选择器列表只是逗号分隔的选择器列表。
如果您需要包含组合子(否定选择>
,+
,~
,空间等,例如div p
),您不能使用:not()
在CSS; 您将必须使用jQuery解决方案。
解决方法
我正在尝试选择tr
a内的所有元素table
,但第三个和第四个除外。我设法做到了:
#table tr:not(:nth-child(3)):not(:nth-child(4))
我想合并这些选择器,因为我还有其他:nth-child
条目。像这样的东西,但是没有用:
#table tr:not(:nth-child(3),:nth-child(4))
这 确实 适用于jQuery,但不适用于CSS。我正在使用Chrome(并且我只需要在其中使用它即可)。
我无法找到这种情况的组合选择器。如何将选择器与结合使用:not
?