2010-02-09 5 views
2

Je veux sélectionner tous les éléments sans classe spéciale.l'opérateur: not dans jquery

i utilisé:

$('body:not(.noFocusOnKeypress)').live('keyup' ... 

mais cela n'a pas fonctionné. et je n'ai aucune idée pourquoi.

+0

Est-ce que cela ne sélectionnerait pas toutes les balises de corps qui n'ont pas la classe 'noFocusOnKeypress'? – Lazarus

Répondre

3

Il suffit de retirer body de votre sélection. En l'état, vous sélectionnez tous les éléments de corps qui n'ont pas cette classe, pas tous les éléments de n'importe quel type qui n'ont pas cette classe. Ce que vous voulez est le suivant:

$(':not(.noFocusOnKeypress)').live() 

Notez que cela pourrait être un sélecteur assez inefficace (je ne suis pas familier avec les entrailles de la pseudo-classe :not) et qu'il pourrait améliorer les performances de la portée un peu, comme suit:

$('#div-that-contains-these-elements :not(.noFocusOnKeypress)').live() 
3

Cela devrait le faire:

$(':not(.noFocusOnKeypress)').live