JQuery исключает элементы с определенным классом в селекторе

Я хочу настроить триггер события click в jQuery для определенных тегов привязки.

Я хочу открыть определенные ссылки на новой вкладке, игнорируя их с определенным классом (прежде чем вы спросите, я не могу поместить классы в те ссылки, которые я пытаюсь поймать, поскольку они происходят из CMS).

Я хочу исключить ссылки с классом "button" ИЛИ "generic_link"

Я пробовал

$(".content_box a[class!=button]").click(function (e) {
    e.preventDefault();     
    window.open($(this).attr('href'));
});

Но это, похоже, не работает, также как я могу сделать инструкцию OR для включения "generic_link" в исключение?

Ответ 1

Вы можете использовать метод . not():

$(".content_box a").not(".button")

В качестве альтернативы вы также можете использовать : not() селектор:

$(".content_box a:not('.button')")

Существует мало различий между двумя подходами, за исключением того, что .not() является более читаемым (особенно при цепочке), а :not() - очень малым. См. этот ответ для получения дополнительной информации о различиях.

Ответ 2

используйте это.

$(".content_box a:not('.button')")