使用jQuery删除最后3个div元素

13
<div id="widgetAreaFooter">
<div class="row">1</div>
<div class="row">2</div>
<div class="row">3</div>
<div class="row">4</div>
<div class="row">5</div>
<div class="row">6</div>
<div class="row">7</div>
</div>

如何移除最后3个div?

我尝试了这个方法,但它没有效果 :/

var row = $( '#widgetAreaFooter>.row' );
var nbr = row.length ;

for ( var i=4;i<nbr;i++ ) row.get(i).remove();
or
for ( var i=4;i<nbr;i++ ) row[i].remove();

我猜你提供的代码只删除了第5和第7行。在删除后,你还需要进行i--操作:$(row[i--]).remove();。然而,@bazmegakapa的解决方案更清晰、更安全。编辑:我的错误。在删除项目后,你还应该减少nbr。正如我所说,@bazmegakapa提供了最好的解决方案。 - Sergi Juanola
1个回答

47

这将删除最后三个元素:

$('#widgetAreaFooter > .row').slice(-3).remove();

jsFiddle 示例

  • 使用.slice()可以获取 jQuery 集合的一部分。

    如果提供了一个负数,则表示从集合末尾开始的位置,而不是从开头开始。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接