Como bien comentas, debes hacer una función recursiva:
Código Javascript
:
Ver originalfunction hijos(padre) {
var i = 0;
for (i = 0; i < padre.childNodes.length; i++) {
alert(padre.childNodes[i].id);
if (padre.childNodes[i].childNodes) {
hijos(padre.childNodes[i]);
}
}
}