2010-08-24 3 views
6

У меня есть большая HTML-страница. Некоторые элементы (могут быть p, h1, div и т. Д.) Отмечены классом «keep_me». Мне нужно удалить все элементы, присутствующие на странице БЕЗ этого класса? Любая идея о том, как это сделать с помощью jQuery?Как удалить элементы без указанного класса

Я пытался что-то вроде этого, но это не работает (очевидно;):

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

ответ

14

Вобще:

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

Смотрите documentation:

jQuery (': not (селектор)')

Выбирает все элементы, которые не соответствуют данному селектору.

+0

веселит, не было ни одного примера с классом, так что я не вывел он не работает таким образом! –

+0

@ vincentp: вы можете использовать все, что является допустимым селектором. –

5

Применение not():

.not() метод, как правило, быстрее и в конечном итоге может предоставить вам с более читаемых выборов, чем толкая сложные селекторы или переменные в: не селектор фильтра() ,

$('#content *').not('.keep_me').remove(); 
Смежные вопросы