不是 jQuery 中的类选择器

2022-08-29 23:55:51

是否有简单的选择器表达式来不选择具有特定类的元素?

<div class="first-foo" />
<div class="first-moo" />
<div class="first-koo" />
<div class="first-bar second-foo" />

我只想得到前三个div并尝试

$(div[class^="first-"][class!="first-bar"])

但是,这接收了所有内容,因为最后一个 div 包含的不仅仅是第一根柱线。有没有办法在这样的表达式中使用占位符?类似的东西

$(div[class^="first-"][class!="first-bar*"]) // doesn't seem to work

还有其他可能有帮助的选择器吗?


答案 1

您需要 :not() 选择器:

$('div[class^="first-"]:not(.first-bar)')

或者,或者,.not() 方法:

$('div[class^="first-"]').not('.first-bar');

答案 2

您可以使用过滤器选择器::not

$('foo:not(".someClass")')

或方法:not()

$('foo').not(".someClass")

更多信息: