2010-05-12 236 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不錯,簡單,刪除我稍微(但只是稍微)更復雜的答案。 – 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

1
$.("#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

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