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')")