2010-08-24 13 views
6

Tengo una gran página HTML. Algunos elementos (pueden ser p, h1, div, etc.) están etiquetados con la clase 'keep_me'. Necesito eliminar todos los elementos presentes en la página SIN esta clase? ¿Alguna idea sobre cómo hacerlo con jQuery?cómo eliminar elementos sin una clase especificada

he intentado con algo por el estilo, pero no funciona (obviamente;):

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

Respuesta

14

Just Do:

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

Véase el documentation:

jQuery (': not (selector)')

Selecciona todos los elementos que no coinciden con el selector dado.

+0

vivas, no había ejemplo, con una clase por lo que dedujo que no estaba funcionando de esa manera! –

+0

@vincentp: puede usar cualquier cosa que sea un selector válido. –

5

Uso not():

El .no() método es generalmente más rápido y puede llegar a proporcionarle con selecciones más legible que empujar selectores complejos o variables en un : No) Filtro de selección (.

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