删除给定索引的子元素?

use*_*114 16 jquery

我有这样的布局:

<div id='parent'>

    <div id='row_0'></div>

    <div id='row_1'></div>

    <div id='row_2'></div>

    ... 

    <div id='row_N'></div>
</div>
Run Code Online (Sandbox Code Playgroud)

在某些时候,我想删除某个索引上方的所有div"行",如:

for (var index = 1; index < $('#parent').children.length; index++) {
    $('#parent').remove('#row_' + index);
}
Run Code Online (Sandbox Code Playgroud)

在jquery中有更简单的方法吗?像"从索引N开始删除所有孩子"之类的东西?

(上面的for循环不会真正起作用,但是如果没有别的方法,那就是我会做的事情)

You*_*You 22

" #parent从元素N" 开始删除(分离)所有孩子:

$("#parent").children().slice(N).detach();
Run Code Online (Sandbox Code Playgroud)

如果不重新插入元素,请使用remove()而不是detach()为了丢弃与删除的元素关联的数据和事件.


Ada*_*dam 8

要删除行0和1,请使用lt选择器选择小于2的行,然后删除:

$('#parent div:lt(2)').remove();
Run Code Online (Sandbox Code Playgroud)


koj*_*iro 6

这是一个旧线程,但我很好奇*为什么没有人提到nth-child.

$("#parent > div:nth-child(n + " + index + ")").remove();
Run Code Online (Sandbox Code Playgroud)

*更新:当时我没有足够的代表知道这一点,但已经有一个nth-child答案,已删除。