Si no lo has conseguido hacer en php, tampoco lo vas a poder hacer en javascript.O al revés.Si lo consigues en uno, lo consigues en el otro..Porque no es cuestión del lenguaje.
Prueba con esto, y con la estructura que te indiqué en un post anterior:
Código PHP:
Ver originalfunction listarRecursivamente($datos)
{
$cadena = "";
foreach($datos as $nombre => $value){
if(isset($value["LINK"])) $label="<a href=\"".$value["LINK"]."\">".$name."</a>";
else
$label=$name;
$cadena .= "<li>".$label."<ul> \n".listarRecursivamente($value["SUBPAGRES"])."</ul>\n</li>\n";
}else{
$cadena .= "<li><a href=\"".$value."\">".$nombre."</a></li>\n";
}
}
return $cadena;
}