Не селектор классов в jQuery

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

<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 содержит больше, чем first-bar. Есть ли способ использовать местозаполнитель в таком выражении? Что-то вроде этого

$(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');