Gibt es eine Funktion wie document.getElementById("FirstDiv").clear()
?
javascript
html
dom
Niyaz
quelle
quelle
node.remove();
ist der moderne Weg, dies zu tun.document.getElementById("FirstDiv").remove();
für Ihren AnwendungsfallAntworten:
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:
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.
quelle
Wenn Sie das div löschen und alle untergeordneten Knoten entfernen möchten, können Sie Folgendes eingeben:
var mydiv = document.getElementById('FirstDiv'); while(mydiv.firstChild) { mydiv.removeChild(mydiv.firstChild); }
quelle
Moderne Lösung -
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.
Mozilla Docs
Unterstützte Browser - 96% Mai 2020
quelle
Sie müssen alle Ereignishandler entfernen, die Sie auf dem Knoten festgelegt haben, bevor Sie ihn entfernen, um Speicherverluste im IE zu vermeiden
quelle
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]
Kinderauswahl ("Eltern> Kind")
.entfernen()
quelle
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.
quelle
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
quelle
Sie sollten in der Lage sein, die .RemoveNode-Methode des Knotens oder die .RemoveChild-Methode des übergeordneten Knotens zu verwenden.
quelle
Sie sollten wahrscheinlich eine JavaScript-Bibliothek verwenden, um solche Dinge zu tun.
Zum Beispiel hat MochiKit eine Funktion removeElement und jQuery hat remove .
quelle