Ich habe ein div <div id="masterdiv">
die mehrere Kinder hat <div>
s.
Beispiel:
<div id="masterdiv">
<div id="childdiv1" />
<div id="childdiv2" />
<div id="childdiv3" />
</div>
So löschen Sie den Inhalt aller untergeordneten <div>
s im Master <div>
mit jQuery?
jQuery('#masterdiv div').html('');
die Funktion empty()
von jQuery macht genau das:
$('#masterdiv').empty();
löscht den Master div
.
$('#masterdiv div').empty();
löscht alle untergeordneten div
s, lässt den Master jedoch intakt.
Verwenden Sie die CSS-Selektorsyntax von jQuery, um alle div
-Elemente innerhalb des Elements mit der ID masterdiv
auszuwählen. Rufen Sie dann empty()
auf, um den Inhalt zu löschen.
$('#masterdiv div').empty();
Wenn Sie text('')
oder html('')
verwenden, wird ein String-Parsing durchgeführt. Dies ist im Allgemeinen eine schlechte Idee, wenn Sie mit dem DOM arbeiten. Versuchen Sie, DOM-Manipulationsmethoden zu verwenden, bei denen nach Möglichkeit keine Zeichenfolgendarstellungen von DOM-Objekten verwendet werden.
Wenn alle Divs in diesem Masterdiv gelöscht werden müssen, ist dies der Fall.
$('#masterdiv div').html('');
andernfalls müssen Sie alle div-Kinder von #masterdiv durchlaufen und prüfen, ob die ID mit childdiv beginnt.
$('#masterdiv div').each(
function(element){
if(element.attr('id').substr(0, 8) == "childdiv")
{
element.html('');
}
}
);
Der bessere Weg ist:
$( ".masterdiv" ).empty();
jQuery empfiehlt, ".empty ()", ". remove ()", ". detach ()" zu verwenden.
wenn Sie alle Elemente im Element löschen müssen, verwenden Sie diesen Code:
$('#target_id').empty();
wenn Sie alle Elemente löschen mussten, verwenden Sie diesen Code:
$('#target_id').remove();
i und jQuery-Gruppe nicht zur Verwendung empfehlen SET FUNCTION wie .html () .attr () .text (), was ist das? Es ist , wenn Sie etwas einstellen möchten, das Sie brauchen
ref: https://learn.jquery.com/using-jquery-core/manipulating-elements/
$("#masterdiv div").text("");
$("#masterdiv > *").text("")
oder
$("#masterdiv").children().text("")
Sie können die Funktion .empty () verwenden, um alle untergeordneten Elemente zu löschen
$(document).ready(function () {
$("#button").click(function () {
//only the content inside of the element will be deleted
$("#masterdiv").empty();
});
});
Um den Vergleich zwischen jquery .empty (), .hide (), .remove () und .detach () zu sehen, folgen Sie hier http://www.voidtricks.com/jquery-empty-hide-remove-detach /
$('#div_id').empty();
oder
$('.div_class').empty();
Funktioniert einwandfrei, um Inhalte in einem div zu entfernen
Wenn Sie Daten mit einem Dienst oder einer Datenbank an div by id anhängen, versuchen Sie es zunächst leer, wie folgt:
var json = jsonParse(data.d);
$('#divname').empty();
$("#masterdiv div[id^='childdiv']").each(function(el){$(el).empty();});
oder
$("#masterdiv").find("div[id^='childdiv']").each(function(el){$(el).empty();});
versuchen Sie es, wenn es hilft.
$('.div_parent .div_child').empty();
$('#div_parent #div_child').empty();