[JS] Node was not found bei previousSibling
-
Hallo,
ich hab ein Problem mit folgendem Codestückchen:
function deleteObject(elX) { alert(elX.previousSibling.nodeName); // Ausgabe "SELECT" if (document.body) { document.body.removeChild(elX.previousSibling); // Node nicht gefunden -.- document.body.removeChild(elX); } }
Erklärung:
Ich habe ein (oder 2. od. 3, usw.) dynamisches Select-Element und dahinter jeweils einen Link der die Aufgabe hat, dass davorstehende ID-lose Objekt und sich selbst zu löschen sobald er geklickt wird.Der Aufruf also ganz simple:
<a href='java\1:void(0);' onclick='deleteObject(this);'><!-- ... -->
Gut, wie in den Kommentaren zu sehen wird mir der Name des Elements noch korrekt ausgegeben, das Löschen klappt allerdings nicht mehr. IE meldet: "Ungültiges Argument" und Firefox sagt: "Node was not found". Beide in Zeile document.body.removeChild(elX.previousSibling);
Hat irgendwer eine Idee was hier kaputt ist?
Vielen Dank im Voraus
VlG
-
Hallo,
removeChild muss ein direktes Kind als Parameter haben.
Aber dein Kind wird wohl nicht direkt am body hängen.Du brauchst also eher sowas:
elX.parentNode.removeChild(elX);
-
Danke, das wars
LG
-
document.body.removeChild(elX.previousSibling);
sieht komisch aus. Warum gehst du davon aus dass elX.previousSibling ein child von body ist?Mach doch einfach
elX.parentNode.removeChild(elX.previousSibling)
denn elX ist garantiert child seines parents
PS:
Sorry habe den obigen Beitrag nicht gesehen - irgendwie hat das reload nicht funktioniert.
Sry
-
Shade Of Mine schrieb:
document.body.removeChild(elX.previousSibling);
sieht komisch aus. Warum gehst du davon aus dass elX.previousSibling ein child von body ist?Weil der Teil statisch ist. Allerdings ist es kein direktes Child von body
Danke euch für die Hinweise. Läuft nun alles so wie es soll
VlG