是否有一个简单的选择器表达式不能选择具有特定类的元素?
<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
任何其他可能有帮助的选择器?
答案 0 :(得分:478)
您需要:not()
选择器:
$('div[class^="first-"]:not(.first-bar)')
或者.not()
方法:
$('div[class^="first-"]').not('.first-bar');
答案 1 :(得分:76)
您可以使用:not
过滤器选择器:
$('foo:not(".someClass")')
或not()
方法:
$('foo').not(".someClass")
更多信息:
答案 2 :(得分:1)
您可以在“not”方法中编写一个 jQuery 选择器:
$('div[class^="first-"]').not($('.first-bar'))