Nodes entleeren
Wib
- javascript
0 XaraX0 Thomas Meinike
Hi,
ist dies der beste Weg, um ein <div> mit der id "foo" zu entleeren, damit man ihm im weiteren Verlauf des Scripts wieder irgendetwas an Daten anhängen kann?
var loc = document.getElementById("foo");
var childNodesLength = loc.childNodes.length;
for(var i = 0; i < childNodesLength; ++i) {
loc.removeChild(loc.childNodes[0]); // Die [0] ist Absicht. Nicht [i]!
}
Wie könnte eine elegantere Lösung aussehen?
WIB
Hi,
ist dies der beste Weg, um ein <div> mit der id "foo" zu entleeren,
m. E. JA!
var loc = document.getElementById("foo");
var childNodesLength = loc.childNodes.length;
for(var i = 0; i < childNodesLength; ++i) {
loc.removeChild(loc.childNodes[0]); // Die [0] ist Absicht. Nicht [i]!
}
Wie könnte eine elegantere Lösung aussehen?
while(document.getElementById("FOO").firstChild)
document.getElementById("FOO").removeChild(document.getElementById("FOO").firstChild)
also das Gleiche nur in zwei Zeilen :þ
Gruß aus Berlin!
eddi
Hallo,
var loc = document.getElementById("foo");
var childNodesLength = loc.childNodes.length;
for(var i = 0; i < childNodesLength; ++i) {
loc.removeChild(loc.childNodes[0]); // Die [0] ist Absicht. Nicht [i]!
}Wie könnte eine elegantere Lösung aussehen?
div-Element ohne Kindknoten klonen (Parameter false) und dann den Elementknoten selbst durch das geklonte Objekt ersetzen:
var loc = document.getElementById("foo");
var clone=loc.cloneNode(false);
loc.parentNode.replaceChild(clone,loc);
Hinweis: Das loc-Objekt fuer weitere Zugriff ggf. neu via document.getElementById("foo") zuweisen.
MfG, Thomas