Hallo,
ich komme hier an einer Stelle einfach nicht mehr weiter und bräuchte Euren Rat.
Ich habe eine Tabelle in der Form hier
table
tbody
tr
td ... /td
/tr
tr
td ... /td
/tr
...
/tbody
/table
Was ich implementieren möchte ist eine funktion, um zwei Zeilen zu tauschen bzw, um eine Zeile nach unten|oben zu schieben.
Probleme dabei (Code unten): Bei der replaceChild-Methode wurde das Kind, mit welches das alte ersetzen sollte, gelöscht. Die insertBefore-Methode hat überhaupt nichs bewirkt.
Nun bin ich einen anderen Weg gegangen und habe versucht, die Zeilen zu löschen und später in veränderter Reihenfolge neu aufzubauen. Das klappt aber auch nicht, und jetzt seid ihr zunächst gefragt, zu ermitteln, warum das nicht ohne Weiteres so möglich.
Ich danke im Voraus ganz herzlich!
function move(parentName,elemName) {
parent = document.getElementById(parentName);
nodes = parent.childNodes;
elem = document.getElementById(elemName);
// neues Array zu Sichern der Kind-Knoten
childArray = new Array();
nrNodes = nodes.length;
// Bis hierher funktioniert alles ...
// nächste for-schleife: i=0 liefert ein text-Element
var position;
// Array einlesen
for (var i=1; i<nrNodes; i++) {
childArray[i] = nodes[i];
}
// Zeilen loeschen
for (var i=1; i<nrNodes; i++) {
parent.removeChild(nodes[i]);
}
// ... und in neuer Reihenfolge einfuegen
for (var i=1; i<nrNodes; i++) {
parent.appendChild(childArray[i]);
}
}