1

特定の順序でなくても一定量の要素を削除することに関する明確なドキュメントは見当たりません。もちろん、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()の量を削除する必要があります。.emptyaddColumn

12/6 は 12 列のグリッドから取得され、6 は 2 列のレイアウトspan6 span6であるため、レイアウトが 4 列に設定されている場合は、2 列を削除する必要があります。これが -2 の元です。

4

3 に答える 3

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

http://jsfiddle.net/mblase75/bG2qq/

于 2013-09-30T16:19:25.443 に答える
0

配列から最初の項目を取得して削除するには、lo ダッシュまたはアンダースコアを使用します。つまり、

$(_.first($('.item.empty'), -addColumn)).remove();

http://jsfiddle.net/7NRLN/6/を参照してください。

于 2013-09-30T16:27:40.087 に答える