Q:

Obtener porcentaje de avance medio de 3, 4 y 5 div's con jquery

Ante todo muchas gracias a todos los que leen esta pregunta y quieran ayudarme.
El titulo es confuso, pero aquí voy a tratar de plasmarlo:
Tengo un contenedor que a veces va a tener 3 div's, a veces 4 div's o a veces 5 div's, cada contenedor tiene una franja con css de un progreso, necesito obtener la mediana de los avances de todos los div's, si hay 3, o 4 o 5.
El código esta así:
<div id="contenedor" class="container">
  <div class="row">
    <div class="avance col-md-4 progreso1">
      <div class="progresso">
        <div style="width: 65%"></div>
      </div>
    </div>
    <div class="avance col-md-4 progreso2">
      <div class="progresso">
        <div style="width: 20%"></div>
      </div>
    </div>
    <div class="avance col-md-4 progreso3">
      <div class="progresso">
        <div style="width: 4%"></div>
      </div>
    </div>        
  </div>
</div>

Mi intensión es obtener una barra con el progreso total
en este caso seria algo así:
<div id="progreso-total" style="with: 29.66667%"></div>

Espero que me puedan ayudar con esto...
PD, entonces que hay que sumar todos los porcentajes (%) y dividirlos entre el numero de div's que hay con clase "avance".
Gracias.

A:

Se define progreso como 0, luego se recorren cada uno de los divs .avance y se van sumando los porcentajes. La clave es usar .prop('style'), porque si accedes directamente al width con .css('width') te devuelve el valor en px.
Si ésto necesitás hacerlo cada vez que alguno de los .avance cambia, habrá que meterlo dentro de una función.
var progreso = 0;

$('.avance').each(function () {
    progreso += parseFloat($('.progresso div', this).prop('style')['width']);
});

if (progreso) {
    progreso = (progreso / $('.avance').length) + '%';
}

$('#progreso-total').css('width', progreso);

Te dejo un JSFiddle para que lo pruebes. Le agregué un .text(progreso) para que veas que porcentaje le está aplicando.

