web-dev-qa-db-ja.com

jQuery:各要素の幅を取得して合計します

各要素の幅を取得して合計するにはどうすればよいですか?

たとえば、HTMLは次のとおりです。

_<div id="container">
<div class="block-item" style="width:10px"></div>
<div class="block-item" style="width:50px"></div>
<div class="block-item" style="width:90px"></div>
<div>
_

各要素をループすることを考えることができますが、数値を合計するにはどうすればよいですか?

_$('.block-item').each(function(index) {
    alert($(this).width());
});
_

150 (10 + 50 + 90)の総数を取得したい。

ありがとう。

17
laukok

使用 parseInt(value, radix)

var totalWidth = 0;

$('.block-item').each(function(index) {
    totalWidth += parseInt($(this).width(), 10);
});

これが 例のフィドル です。

26
var w = GetWidths('.block-item');

function GetWidths(id) {
    var i = 0;

    $(id).each(function (index) {
        i += parseInt($(this).width(), 10);
    });

    return i;
}
2
Igor Krupitsky