Andi: Hilfe mit rekursiver Funktion

Beitrag lesen

Ja, habs schon selbst gefunden. Wen's interessiert: Wenn ich das DOM mit replaceChild verändere wird die Rekursion abgebrochen. Ich muss also nochmal von vorne starten oder den letzten Knoten zurückgeben.

Hallo!

Ich habe Probleme einen XHTML-Baum zu durchlaufen:

function walkTree(newnode) {
var currentnode = newnode.firstChild;
  while (currentnode != null) {
   if(currentnode.hasChildNodes()){
    if(currentnode.nodeName=="CPTREE" && currentnode.getAttribute("FOR")==focusID) {
     var text = currentnode.firstChild.data.toString();
     var nodetext = document.createTextNode(text);
     currentnode.parentNode.replaceChild(nodetext, currentnode);
    }
   }
   walkTree(currentnode);
   currentnode = currentnode.nextSibling;
  }
}
walkTree(element);

Das Problem ist, dass nicht alle Tags auf einer Ebene durchlaufen werden, was aber mit currentnode.nextSibling doch funktionieren sollte, oder?

Gruß
Andi