如何删除所有元素除jQuery中的第一个元素和第二个元素?

问题描述:

HTML如何删除所有元素除jQuery中的第一个元素和第二个元素?

<div class="geo_select"> 
     <h3>header 3</h3> 
     <div class="row form-group"> 
     default content 
     </div> 
     <div class="row form-group"> 
     //Dynamic content 1 here 
     </div> 
    <div class="row form-group"> 
     //Dynamic content 2 here 
     </div> 

    </div> 

在上面的HTML代码我要删除所有元素,除了<h3>和jQuery中的<div class='geo_select'>内默认的内容<div>。如何删除所有元素除了在jQuery的第一个2元?在我上面的场景?

+0

给所有的动态内容一个额外的类,并删除所有的div元素与那个class.Won't更容易? – Visrozar

如果需要,您可以使用CSS。

.geo_select > div:not(:first-of-type) { 
    display:none; 
} 

有几种方法可以做到,在jQuery的

// use this, if there are different types of elements as child 
$('.geo_select > div:nth-of-type(n+3)').remove() 

// use any of these if childs are same 
$('.geo_select > div:nth-child(n+3)').remove() 
$('.geo_select > div:gt(2)').remove() 

// this is jQuery way which reduce the set into the range 
$('.geo_select > div').slice(2).remove() 

或者利用CSS,只是将其隐藏。

.geo_select > div:nth-of-type(n+3){ 
    display:none; 
} 
+1

谢谢你@Pranav C Balan –