Не селектор класса в jQuery - PullRequest
244 голосов
/ 06 января 2011

Есть ли простое выражение селектора, чтобы не выбирать элементы с определенным классом?

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

Я просто хочу получить первые три деления и попробовал

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

Но это получаетвсе как последний div содержит больше, чем первый бар.Есть ли способ использовать заполнитель в таком выражении?Что-то в этом роде

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

Любые другие селекторы, которые могут помочь?

Ответы [ 2 ]

487 голосов
/ 06 января 2011

Вам необходим селектор :not():

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

или, альтернативно, метод .not():

$('div[class^="first-"]').not('.first-bar');
78 голосов
/ 06 января 2011

Вы можете использовать :not фильтр выбора:

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

или not() метод:

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

Дополнительная информация:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...