2010-08-24 3 views
6

Ich habe eine große HTML-Seite. Einige Elemente (können p, h1, div usw. sein) sind mit der Klasse keep_me gekennzeichnet. Ich muss alle Elemente auf der Seite ohne diese Klasse entfernen? Irgendeine Idee, wie man es mit jQuery macht?wie Elemente ohne eine angegebene Klasse zu entfernen

Ich habe versucht, mit so etwas, aber es funktioniert nicht (natürlich;):

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

Antwort

14

Just do:

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

Siehe documentation:

jQuery (': nicht (Selektor)')

Wählt alle Elemente aus, die nicht mit dem angegebenen Selektor übereinstimmen.

+0

Jubel gab es kein Beispiel mit einer Klasse so abgeleitet ich es nicht war, dass die Art und Weise zu arbeiten! –

+0

@vincentp: Sie können alles verwenden, was ein gültiger Selektor ist. –

5

Verwendung not():

Die .not() Methode ist in der Regel schneller und können am Ende Sie mit lesbarer Auswahl bereitstellt als Schub komplexe Selektoren oder Variablen in a: nicht() Bandfilter .

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