添加数组中的所有元素

时间:2011-07-04 23:10:45

标签: javascript jquery

我的功能是在列表中获取图像的宽度,我需要将它们全部计算在一起。当我在foreach中执行它时会带来一些奇怪的数字。

这个函数正在增加每个元素的宽度,我真的不关心每个元素,只是它们在一起的宽度......

var listWidth = [];
$('#thumbContainer ul li').each(function(){
    listWidth.push($(this).width());
});

2 个答案:

答案 0 :(得分:5)

不确定你尝试了什么,但这应该有效:

var listWidth = 0;
$('#thumbContainer ul li').each(function(){
    listWidth += $(this).width();
});

alert( listWidth );

......或者这个:

var listWidth = 0;
$('#thumbContainer ul li').width(function(i,wid){ listWidth += wid; });

alert( listWidth );

答案 1 :(得分:2)

我喜欢用这个:

Array.prototype.addAll = function() {
/** Adds all the elements in the
    specified arrays to this array. 
*/
    for (var a = 0;  a < arguments.length;  a++) {
        arr = arguments[a];
        for (var i = 0;  i < arr.length;  i++) {
            this.push(arr[i]);
        }
    }
}

Source