jQuery exclude elements with certain class in selector
I want to setup a click event trigger in jQuery for certain anchor tags.
I want to open certain links in a new tab while ignoring ones with a certain class (before you ask I cannot put classes on the links I am trying to catch as they come from a CMS).
I want to exclude links with class "button"
OR "generic_link"
I have tried:
$(".content_box a[class!=button]").click(function (e) {
e.preventDefault();
window.open($(this).attr('href'));
});
But that doesn't seem to work, also how do I do an OR statement to include "generic_link"
in the exclusion?
You can use the .not() method:
$(".content_box a").not(".button")
Alternatively, you can also use the :not() selector:
$(".content_box a:not('.button')")
There is little difference between the two approaches, except .not()
is more readable (especially when chained) and :not()
is very marginally faster. See this Stack Overflow answer for more info on the differences.
use this..
$(".content_box a:not('.button')")