将增量值分配给div。删除一个值后重新计算

时间:2012-06-14 21:46:47

标签: javascript jquery html arrays

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

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

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

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

接受建议和问题(询问您是否理解)。

1 个答案:

答案 0 :(得分: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是我需要的号码。