2010-08-24 2 views
6

J'ai une grande page HTML. Certains éléments (p, h1, div etc.) sont marqués avec la classe 'keep_me'. Je dois supprimer tous les éléments présents dans la page SANS ce cours? Une idée sur la façon de le faire avec jQuery?comment supprimer des éléments sans une classe spécifiée

J'ai essayé avec quelque chose comme ça, mais ça ne marche pas (évidemment;):

jQuery('#content *').remove(":not('[class=keep_me]')"); 

Répondre

14

Il suffit de faire:

jQuery('#content :not(.keep_me)').remove(); 

Voir la documentation:

jQuery (': not (selector)')

Sélectionne tous les éléments qui ne correspondent pas au sélecteur donné.

+0

acclamations, il n'y avait pas d'exemple avec une classe, donc je déduit qu'il ne fonctionnait pas de cette façon! –

+0

@vincentp: Vous pouvez utiliser tout ce qui est un sélecteur valide. –

5

Utilisation not():

La méthode .pas() est généralement plus rapide et peut finir par vous offrir avec des sélections plus lisibles que pousser les sélecteurs complexes ou variables dans un: filtre de sélection non() .

$('#content *').not('.keep_me').remove();