2010-05-12 2 views
5

Мне нужно удалить теги, которые идут после #first и только в #container. Как я могу сделать это с помощью jQuery?Как удалить все теги после определенного тега?

<div id="container"> 
    <div id="first"></div> 
    <div id="remove_me_1"></div> 
    <div id="remove_me_2"></div> 
    <div id="remove_me_3"></div> 
    <a href="" id="remove_me_too">Remove me too</a> 
</div> 

Спасибо

ответ

11

Вы можете использовать nextAll метод: http://api.jquery.com/nextAll/

$("#first").nextAll().remove(); 
+0

+1 приятный и простой, удалил мой слегка (но только слегка) более сложный ответ. –

+0

Селектор должен быть '#container # first', как требуется в вопросе. – DisgruntledGoat

+1

@DisgruntledGoat, на странице должен быть один элемент '# first'. –

1
$.("#container #first ~ *").remove(); 
+1

-1 универсальный селектор * следует избегать везде, где это возможно. – jAndy

+0

@jAndy, есть ли какие-либо доказательства того, что ваше утверждение применяется в контексте jQuery? Я знаю, что селектора CSS сопоставляются справа налево, но я не уверен, что jQuery делает то же самое. Это может быть и с 'querySelectorAll'. –

+0

Sizzle матча справа налево, да. – jAndy

Смежные вопросы