140 votes

jQuery exclure les éléments avec une certaine classe dans le sélecteur

Je veux de l'installation cliquez sur un événement déclencheur dans jQuery pour certaines balises d'ancrage.

Je veux ouvrir certains liens dans un nouvel onglet tout en ignorant ceux avec une certaine classe (avant de vous demander, je ne peux pas mettre des cours sur les liens que je suis en train de les attraper car ils viennent d'un CMS).

Je veux exclure des liens avec la classe "bouton" OU "generic_link"

J'ai essayé

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

Mais cela ne semble pas fonctionner, et comment dois-je faire une instruction OU d'inclure "generic_link" dans l'exclusion?

Merci beaucoup

288voto

Pranay Rana Points 69934

Vous pouvez utiliser le .pas de() la méthode:

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

Alternativement, vous pouvez également utiliser l' :non() sélecteur:

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

Il y a peu de différence entre les deux approches, à l'exception de .not() est plus lisible (surtout quand enchaîné) et :not() est très légèrement plus rapide. Voir ce Débordement de Pile réponse pour plus d'informations sur les différences.

26voto

sushil bharwani Points 10138

l'utilisation de cette ...

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X