不是jQuery中的类选择器

时间:2011-01-06 10:51:48

标签: javascript jquery jquery-selectors

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

<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

任何其他可能有帮助的选择器?

3 个答案:

答案 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'))