jQuery: get each element's width and sum them up
How can I get each element's width and sum them up?
For instance, here is the 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>
<d开发者_JAVA技巧iv>
I can think of looping through each element, but how do I sum the numbers up?
$('.block-item').each(function(index) {
alert($(this).width());
});
I want to get the total number of 150 (10 + 50 + 90)
.
Thanks.
Use parseInt(value, radix)
:
var totalWidth = 0;
$('.block-item').each(function(index) {
totalWidth += parseInt($(this).width(), 10);
});
Here's an example fiddle.
var w = GetWidths('.block-item');
function GetWidths(id) {
var i = 0;
$(id).each(function (index) {
i += parseInt($(this).width(), 10);
});
return i;
}
for those people who have seen this thread recently: you can use jQuery map with ease:
var y = $('.block-item').map( function() {
return $(this).width();
}).get()
.reduce((partialSum, a) => partialSum + a, 0);
console.log(y)
精彩评论