我有这样的布局:
<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()为了丢弃与删除的元素关联的数据和事件.
要删除行0和1,请使用lt选择器选择小于2的行,然后将其删除:
$('#parent div:lt(2)').remove();
Run Code Online (Sandbox Code Playgroud)
这是一个旧线程,但我很好奇*为什么没有人提到nth-child.
$("#parent > div:nth-child(n + " + index + ")").remove();
Run Code Online (Sandbox Code Playgroud)
*更新:当时我没有足够的代表知道这一点,但已经有一个nth-child答案,已删除。