2011-05-15 123 views
16

如何获取每个元素的宽度并将其总结出来?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)

谢谢。

回答

24

使用parseInt(value, radix)

var totalWidth = 0; 

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

这里是一个example fiddle

+1

可能想要一个+ =收藏家,是吗? – 2011-05-15 01:49:49

+0

@Alex谢谢,当我创作小提琴时,我自己发现了这个愚蠢的错字。 – 2011-05-15 01:52:19

+0

谢谢你的帮助! :-) – laukok 2011-05-15 02:07:06

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

function GetWidths(id) { 
    var i = 0; 

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

    return i; 
} 
+0

清洁和优雅地使用变量和函数彼此。 – 2016-08-16 13:42:13

相关问题