繁体   English   中英

仅保留前三个div

[英]Keep only the first three divs

我拥有一个div,并在其中拥有数千个div,但我只想保留前3个,如何使其与jquery一起使用? 例:

<div class="owner">
  <div class="child"></div>
  <div class="child"></div>
  <div class="child"></div> 
  <div class="child"></div> -> DELETE
  <div class="child"></div> -> DELETE
  <div class="child"></div> -> DELETE
  <div class="child"></div> -> DELETE 
  [...]
</div>

:gt选择器与.hide().remove()

$('.owner .child:gt(2)').hide(); 

要么

$('.owner .child:gt(2)').remove()

尝试使用slice()

$('.owner .child').slice(3).remove();

是的,正如Milind所写,您可以通过:gt选择器将其删除。

但是还有另一种方法:

$(document).ready(function(){
   var index = $(".child").length;
   while (index--) {
       if(index > 2){
           ($('.child')[index]).remove();
       }
   }   
});

这种方式更容易理解。

我已将JSFiddle示例附加到帖子中。

所有这些jQuery解决方案都可以工作。 但是,如果您也想以CSS方式进行操作,则只需执行以下操作:

.owner .child:nth-child(1n+4) { display: none; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM