Thomas: rekursiver Funktionsaufruf wird nicht zu Ende geführt!!!

Beitrag lesen

Hallo liebe JS-Genmeinde,

ich versuche gerade ein Script für ein Baummenü zu schreiben und bin dabei auf ein Problem gestoßen was ich mir nicht erklären kann.

Ich erzeuge über eine Funktion 'Link()' ein Objekt und über eine Funktion 'addLink()' Instanzen dieses Objektes. Dabei kann als Parameter 'bolOrdner' übergeben werden, ob es sich um einen Ordner handelt. Daraufhin wird dem Link ein Array hinzugefügt, welches die Unterlinks aufnehmen soll.

Um das Menü darzustellen habe ich folgende Funktion 'erzeuge()' geschrieben. Diese soll sich, wenn ein Link das Atribut 'bolOrdner' erfüllt, selbst aufrufen um alle Unterelemente abzuarbeiten.

Dies funktioniert auch soweit. Jedoch findet die Rekursion nicht wieder zurück, wenn die tiefste Verschachtelungsebene des ersten Ordners erreicht ist. Das Menü wird nur bis dahin erzeugt und nicht weiter.

Was mache ich falsch???

function erzeuge()
  {
    elm = this.Elemente;
    for (x=0; x<elm.length; x++)
    {
      document.write(getLink(elm[x]));
      if (elm[x].bolOrdner)
      {
 document.write('<ul>');
        elm[x].erzeuge();
        document.write('</ul>');
      }
    }

}

Danke im Voraus für Eure Hilfe.