我没有看到关于删除某些元素而没有特定顺序的任何明确文档,当然有很多方法可以删除5个项目的列表,如果它们按照该顺序排列。如果有不希望在中间删除的元素怎么办?让我举个例子
FIDDLE :下面只是这个小提琴的碎片,只是看看小提琴会更容易。
HTML
<div class="item empty">Empty</div>
<div class="item empty">Empty</div>
<div class="item editable">Editable</div>
<div class="item empty">Empty</div>
</div>
<button class="demo">Demo</button>
的jQuery
$('.demo').click(function() {
var length = $('.item').length,
columns = 12/6,
addColumn = columns - length
//Set this for subtracting elements if addColumn is a negitive number
if(addColumn < 0) {
//Want to remove the amount of items which is -2 in this case
//Obviously I just threw in .eq just for the petes sake, but not sure about the syntax
$('.item.empty').eq(/*Remove whatever amount of addColumn */ ).remove()
}
//Equals -2
alert(addColumn)
});
所以,为了清楚起见,我试图根据传递给.empty
变量的金额来移除addColumn
项的数量,在这种情况下,其静态设置为-2。
所以我问addColumn < 0
是否为负数,然后我们使用.remove()
进行减法,我需要删除等于.empty
变量的addColumn
项的数量。
12/6来自12列网格,6是两列布局span6
span6
所以如果布局设置为4列,我们需要删除2列,这是-2来自。
答案 0 :(得分:5)
答案 1 :(得分:2)
这听起来像是:lt
selector:
$('.item.empty:lt('+num+')').remove(); // zero-based index
http://jsfiddle.net/mblase75/D5k6D/
您还可以将否定索引传递给:gt
,以移除最后 num-1
元素:
$('.item.empty:gt('+(-1-num)+')').remove(); // 'num' is positive
答案 2 :(得分:0)
我使用短划线或下划线从阵列中获取第一个项目并将其删除,即
$(_.first($('.item.empty'), -addColumn)).remove();