Hallo,
habe ein Problem mit folgendem JS-Code:
// *************************************
function Displayer () {
// leerer Konstruktor
}
Displayer.prototype.getAsHtml = function (node, expandLevel) {
html = node.getTitle() + "<br>";
childNodes = node.getChildNodes();
for (i=0; i<childNodes.length; i++) {
if (expandLevel > 0) html += this.getAsHtml(childNodes[i], expandLevel - 1);
// Gedanke: rekursives Durchlaufen des Node-Baumes
// Problem: Rekursion laeuft nicht wie gewuenscht - die for-Schleife wird in jeder
// Ebene nur einmal durchlaufen
}
return html;
}
// *************************************
Ich habe eine Baumstruktur, die aus Node-Objekten besteht, und möchte diesen Baum durchlaufen.
Das Ganze soll für ein Menü verwendet werden.
Das Problem ist, daß die Rekursion nur unvollständig durchgeführt wird.
Kennt jemand dieses Problem?
Beispiel:
Ich habe einen Root-Node, dieser hat meinetwegen 5 ChildNodes, von denen jeder wieder x ChildNodes hat.
Mit obiger Rekursion erfolgt aber nur die Ausgabe des Root-Nodes, des 1. ChildNodes sowie dessen 1. ChildNodes.
Ich kann mir das nicht erklären.
Dankbar für Tips und Denkanstöße:
Andreas