如何删除所有元素除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元?在我上面的场景?
答
如果需要,您可以使用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 –
给所有的动态内容一个额外的类,并删除所有的div元素与那个class.Won't更容易? – Visrozar