jQuery excluye elementos con cierta clase en el selector

Quiero configurar un activador de evento de clic en jQuery para ciertas tags de anclaje.

Quiero abrir ciertos enlaces en una pestaña nueva, ignorando los que tienen cierta clase (antes de preguntar, no puedo poner clases en los enlaces que bash atrapar, ya que provienen de un CMS).

Quiero excluir enlaces con el "button" clase O "generic_link"

Yo he tratado:

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

Pero eso no parece funcionar, también ¿cómo hago una statement O para incluir "generic_link" en la exclusión?

Puede usar el método .not () :

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

Alternativamente, también puede usar el selector: not () :

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

Hay poca diferencia entre los dos enfoques, excepto .not() es más legible (especialmente cuando está encadenado) y :not() es muy ligeramente más rápido. Consulte esta respuesta de desbordamiento de stack para obtener más información sobre las diferencias.

utilizar esta..

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

Para agregar algo de información que me ayudó hoy, un objeto jQuery / this también se puede pasar al selector .not () .

 $(document).ready(function(){ $(".navitem").click(function(){ $(".navitem").removeClass("active"); $(".navitem").not($(this)).addClass("active"); }); }); 
 .navitem { width: 100px; background: red; color: white; display: inline-block; position: relative; text-align: center; } .navitem.active { background:green; }