使用.each()JQuery添加到现有值

时间:2012-06-07 10:13:40

标签: jquery function loops each

我有一个.each()函数来测量.item类中每个图像的宽度。我需要测量所有宽度,然后将其添加到变量中。然后需要将该变量传递出函数。下面这个功能只完成了一半,我只是不知道如何完成它。

任何帮助都非常感激。

$('.item img').each(function () {

    var i = $(this).width();

});

$('.overview').css('width', i);

3 个答案:

答案 0 :(得分:9)

var i = 0;

$('.item img').each(function () {

    i = i + $(this).width();

});

$('.overview').css('width', i);

答案 1 :(得分:4)

var i = 0;

$('.item img').each(function () {
    i += $(this).width();
});

$('.overview').css('width', i);

答案 2 :(得分:3)

你正在迭代这些项目,但宽度已经过度而不是加起来。

var i = $(this).width();

这将是

var i += $(this).width();

还定义I outside函数以在函数调用之间保留其值。变量名称i在这里不太合适,它可能类似于totalImagesWidth

试试这个

var i = 0;
$('.item img').each(function () {

    i += $(this).width();

});


$('.overview').css('width', i);

// you can pass this to some other function as well
somefunction(i);