Volker Nebelung: "Schreibmaschinenfunktion"

Beitrag lesen

Aloha 'oe,

Ich arbeite gerade an einer kleinen Javascriptspielerei, die mich allerdings vor Probleme stellt:
Ich will aus einer Tabelle jeglichen Text einlesen, löschen und ihn anschließend im Schreibaschinenstil wieder ausgeben, d.h. die Buchstaben sollen einer nach dem anderen in den entsprechenden DOM-Knoten geschrieben werden.

Das Einlesen und Löschen der Inhalte der Textknoten funktioniert auch ohne Probleme.
Als Ergebnis erhalte ich ein Array textknoten[] , indem diese Inhalte gespeichert sind.
Nun soll hier testweise der Inhalt von textknoten[0] in das erste td-Element wie erläutert geschrieben werden:

  
schreibe(document.getElementsByTagName("td")[0]);  
function schreibe(knoten) {  
  var buchstabe = document.createTextNode((textknoten[0]).substr(0,1));  
  textknoten[0] = textknoten[0].substr(1, textknoten[0].length - 1);  
  knoten.firstChild.appendData(buchstabe.nodeValue);  
  if (textknoten[0] != "") {  
    window.setTimeout("schreibe(" + knoten + ")", 500); //*Fehlermeldung  
  }  
}  

Der erste Buchstabe wird korrekt geschrieben, allerdings tritt beim erneuten Aufruf von schreibe(...) folgende Fehlermeldung auf:
Fehler: missing ] after element list
Zeile: *Fehlermeldung
Quelltext:
schreibe([object HTMLTableCellElement])

1. Was hat die Fehlerkonsole da zu meckern?
2. Wie behebe ich den Fehler?

Danke im Voraus.

Gruß, Volker

--
„I conclude that there are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies."
- Tony Hoare