如何删除特定标签后的所有标签?

问题描述:

我需要删除#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> 

谢谢

您可以使用nextAll方法:http://api.jquery.com/nextAll/

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

+1不错,简单,删除我稍微(但只是稍微)更复杂的答案。 – 2010-05-12 10:25:00

+0

根据问题的要求,选择器应该是'#container#first'。 – DisgruntledGoat 2010-05-12 10:30:12

+1

@DisgruntledGoat,页面中应该有一个'#first'元素。 – 2010-05-12 10:34:45

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

-1通用选择*应避免徘徊无论可能。 – jAndy 2010-05-12 10:24:50

+0

@jAndy,有没有证据表明你的陈述适用于jQuery的上下文?我知道CSS选择器从右到左匹配,但我不太确定jQuery是否也是如此。尽管如此,querySelectorAll可能就是这种情况。 – 2010-05-12 10:27:35

+0

从右到左发出嘶嘶声,是的。 – jAndy 2010-05-12 10:28:19

$("#container :gt(0)").remove();