0

我需要一个系统,我可以在其中分配一个值(data-* 或数组等),总是递增到一个选择的 div(来自许多 div)。如果我删除一个,我需要所有其他值“向上滑动”。

1.2.3.4.5 //remove 3
1.2.  3.4 //dot represents a new index.

然后我需要能够从随机 div 中获取(新)值。我正在考虑 data-* 属性,因此它绑定到一个 div 但是在添加和删除值时,一个数组会更容易重新计算(“向上滑动”)。

什么是最好的方法(最少的代码和最好的性能?)

对建议和问题持开放态度(如果您不明白,请询问)。

4

1 回答 1

0

感谢@Fabricio,即使您没有回答我的问题,您也给了我一个很好的提示,帮助我解决了这个问题。

function removeA(arr){
    var what, a= arguments, L= a.length, ax;
    while(L> 1 && arr.length){
        what= a[--L];
        while((ax= arr.indexOf(what))!= -1){
            alert('id:'+ax);
            arr.splice(ax, 1);
        }
    }
    return arr;
}
var products = [];
$('div').click(function(){
    var item=$(this);
    var thisIndex = item.siblings().andSelf().index(item);
    if (item.hasClass('added')) {
    removeA(products, thisIndex);
    item.removeClass("added");
    return false;
}
    item.addClass("added");
    products.push(thisIndex);
    alert(products);
});
​

http://jsfiddle.net/JPCnm/2/

删除添加的项目时收到的 id 是我需要的数字。

于 2012-06-15T08:04:30.620 回答