buenas noches, vengo con esta duda que me quema un poco la cabeza, tengo unas funciones getByClass y getById que devuelven un array con los elementos html que posean dicho id o clase, el tema es que me gustaria por ejemplo poder aplicarle una animacion a cada elementod e estos arrays, a todos por igual y en una sola funcion, y tengo esto por ahora.

Código Javascript :

var slideDown = function ( elem, to ) {
      var e = getById( elem ), st, i;
      if(e == false){
         e = getByClass( elem );
      }
      for(var i in e){
         //alert(e[i].offsetHeight + e[i].nodeName + e[i].textContent.trim());
         st = setInterval(doAnim( e[i] ), 1000);
         function doAnim ( e, h ){
            h = e.offsetHeight;
            if(h < to){
               e.style.height = h + "px";
               h++;
               console.log(h);
               doAnim( e[i], h );
            }
         }
      }
   }


el problema es que como la funcion de animacion va dentro del for loop solo se ejecuta dos veces, en este caso, xq el array contiene 2 elementos nada mas, si la pongo afuera tambien se ejecuta dos veces xq el setinterval esta dentro del for, mi pregunta es como arreglar esto, osea, como modificar los elementos del array, sin tener que ir indice por indice. gracias de antemano, no espero respuestas como USA JQUERY o cosas asi, ya se que jquery hace esto, pero estoy tratando de investigar cosas nuevas pero me trabe con esto, saludos.