en el bucle, el mecanismo que funciona como iteracion seria controlado por elemento padre. por ejemplo:
Código:
var array = [];
for(var elem = this; elem; elem = this.parentNode){
// aqui va tu codigo que determina si el padre contiene una clase;
}
ahora bien, este bucle se extiende hasta el nodo mas alto de la jerarquia DOM, o sea hasta el objeto
document. si quieres controlar hasta donde se extiende, necesitaras de alguna forma determinarlo. una alternativa es teniendo de antemano la referencia de uno de los elementos padre del elemento actual. luego, en el cuerpo del bucle compara si el elemento en iteracion es igual al elemento que tienes como referencia. si es cierto, rompes el bucle con
break;.