Gibt es eine Funktion wie document.getElementById("FirstDiv").clear()?
Antworten:
Um die ursprüngliche Frage zu beantworten: Es gibt verschiedene Möglichkeiten, dies zu tun, aber die folgende wäre die einfachste.
Wenn Sie bereits ein Handle für den untergeordneten Knoten haben, den Sie entfernen möchten, dh Sie haben eine JavaScript-Variable, die einen Verweis darauf enthält:
myChildNode.parentNode.removeChild(myChildNode);
Wenn Sie keine der zahlreichen Bibliotheken verwenden, die dies bereits tun, möchten Sie natürlich eine Funktion erstellen, um dies zu abstrahieren:
function removeElement(node) {
node.parentNode.removeChild(node);
}
BEARBEITEN: Wie bereits von anderen erwähnt: Wenn Ereignisbehandlungsroutinen mit dem zu entfernenden Knoten verbunden sind, sollten Sie sicherstellen, dass Sie diese trennen, bevor der letzte Verweis auf den zu entfernenden Knoten den Gültigkeitsbereich verlässt, damit keine schlechten Implementierungen auftreten des JavaScript-Interpreter-Leckspeichers.
child.remove()Für Ihren Anwendungsfall:
document.getElementById("FirstDiv").remove()
Dies wird von W3C seit Ende 2015 empfohlen und ist Vanilla JS . Alle gängigen Browser unterstützen dies.
Unterstützte Browser - 96% Mai 2020
Eine jQuery-Lösung
HTML
<select id="foo">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
Javascript
// remove child "option" element with a "value" attribute equal to "2"
$("#foo > option[value='2']").remove();
// remove all child "option" elements
$("#foo > option").remove();
Verweise:
Attribut gleich Selektor [Name = Wert]
Wählt Elemente mit dem angegebenen Attribut aus, deren Wert genau einem bestimmten Wert entspricht.
Kinderauswahl ("Eltern> Kind")
Wählt alle direkten untergeordneten Elemente aus, die durch "untergeordnetes Element" angegeben sind, oder Elemente, die durch "übergeordnetes Element" angegeben sind.
Ähnlich wie bei .empty () werden bei der Methode .remove () Elemente aus dem DOM entfernt. Wir verwenden .remove (), wenn wir das Element selbst sowie alles darin entfernen möchten. Zusätzlich zu den Elementen selbst werden alle gebundenen Ereignisse und jQuery-Daten, die den Elementen zugeordnet sind, entfernt.
Verwenden Sie den folgenden Code:
//for Internet Explorer
document.getElementById("FirstDiv").removeNode(true);
//for other browsers
var fDiv = document.getElementById("FirstDiv");
fDiv.removeChild(fDiv.childNodes[0]); //first check on which node your required node exists, if it is on [0] use this, otherwise use where it exists.
var p=document.getElementById('childId').parentNode;
var c=document.getElementById('childId');
p.removeChild(c);
alert('Deleted');
p ist der übergeordnete Knoten und c ist der
untergeordnete Knoten. parentNode ist eine JavaScript-Variable, die die übergeordnete Referenz enthält.
Leicht zu verstehen
Sie sollten wahrscheinlich eine JavaScript-Bibliothek verwenden, um solche Dinge zu tun.
Zum Beispiel hat MochiKit eine Funktion removeElement und jQuery hat remove .
node.remove();ist der moderne Weg, dies zu tun.document.getElementById("FirstDiv").remove();für Ihren Anwendungsfall