2011-05-15 13 views
16

¿Cómo puedo obtener el ancho de cada elemento y resumirlo?jQuery: obtenga el ancho de cada elemento y agréguelas

Por ejemplo, aquí está el código 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> 

puedo pensar en bucle a través de cada elemento, pero ¿cómo puedo sumar los números hasta?

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

Quiero obtener el número total de 150 (10 + 50 + 90).

Gracias.

Respuesta

24

Uso parseInt(value, radix):

var totalWidth = 0; 

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

He aquí un example fiddle.

+1

Probablemente quiera un + = para el colector, ¿sí? –

+0

@Alex Gracias, atrapé ese tonto error cuando estaba creando el violín. –

+0

¡Gracias por la ayuda! :-) – laukok

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

function GetWidths(id) { 
    var i = 0; 

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

    return i; 
} 
+0

Uso limpio y elegante de variables y funciones pasadas entre El uno al otro. –

Cuestiones relacionadas