molily: createElement("a")

Beitrag lesen

Hallo,

for ( i = 1 ; i <= 63 ; i++ ) {

^^^^^^^

neuesLi = document.createElement("li");
neuerLink = document.createElement("a");
neuerLink.setAttribute("href", "navi()");
LinkName = document.createTextNode("Bild Nummer" + i);
document.getElementById("bilder").appendChild(neuesLi);
document.getElementsByTagName("li")[i].appendChild(LinkName);

Das erste Element in der Liste, die getElementsByTagName zurückgibt, hat den Index 0. Du beginnst bei 1 zu zählen. Wenn du ein li-Element ins Dokument einfügst, liefert document.getElementsByTagName("li") eine Liste mit einem Element - mit dem Index 0, nicht 1.

document.getElementsByTagName("a")[i].appendChild(LinkName);

Du kannst einen Textknoten nicht zweimal in den DOM-Baum einhängen, sondern nur einmal.

document.getElementsByTagName("li")[i] has no properties..

aber ich hab das doch vorher schon "erschaffen" oder nicht?

Siehe oben. Aber warum gehst du überhaupt Weg über getElementsByTagName? Textknoten erzeugen und anhängen kannst du auch direkt mit den Variablen neuesLi und neuerLink.

Mathias