Quelle est la différence entre empty()
et remove()
méthodes JQuery
, et lorsque nous appelons une de ces méthodes, les objets créés seront détruits et la mémoire libérée?
Réponses
Trop de publicités?-
empty()
va supprimer tout le contenu de la sélection. -
remove()
va supprimer la sélection et de son contenu.
Considérer:
<div>
<p><strong>foo</strong></p>
</div>
$('p').empty(); // --> "<div><p></p></div>"
// whereas,
$('p').remove(); // --> "<div></div>"
Deux d'entre eux de supprimer les objets DOM et libérer la mémoire qu'ils prennent, oui.
Darin Dimitrov
Points
528142
La documentation, l'explique très bien. Il contient également des exemples:
avant:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
.remove():
$('.hello').remove();
après:
<div class="container">
<div class="goodbye">Goodbye</div>
</div>
avant:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
.empty():
$('.hello').empty();
après:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
Aussi loin que la mémoire est concerné, une fois qu'un élément est retiré de la DOM et il n'y a pas plus de références à la ramasse-miettes de récupérer la mémoire lors de son exécution.
Atanas Korchev
Points
20945
user1452840
Points
40