Jquery .empty()前2个元素

utd*_*dev 1 html javascript jquery dom

jquery方法.empty()删除元素的所有子节点.如何指定使用.empty()删除前2-3个或最后2-3个元素?

文档:

此方法不仅删除子(和其他后代)元素,还删除匹配元素集中的任何文本.

例:

<div id="foo">
   <div id="one"></div>
   <div id="two"></div>
   <div id="three"></div>
   <div id="four"></div>
   <div id="five"></div>
   <div id="six"></div>
</div>

$('#foo').empty()
Run Code Online (Sandbox Code Playgroud)

会"回归":

<div id="foo"></div>
Run Code Online (Sandbox Code Playgroud)

如何让它"返回"例如(在这种情况下,最后四个是"清空")

<div id="foo">
   <div id="one"></div>
   <div id="two"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 5

您可以使用slice():gt()从集合中获取所需的元素,然后使用remove()它们.试试这个:

$('#foo div').slice(2).remove();
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="foo">
   <div id="one">one</div>
   <div id="two">two</div>
   <div id="three">three</div>
   <div id="four">four</div>
   <div id="five">five</div>
   <div id="six">six</div>
</div>
Run Code Online (Sandbox Code Playgroud)