javascript - only - jquery remove html tags
jQuery empty() vs remove() (3)
La documentación lo explica muy bien. También contiene ejemplos:
antes de:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
.retirar():
$(''.hello'').remove();
después:
<div class="container">
<div class="goodbye">Goodbye</div>
</div>
antes de:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
.vacío():
$(''.hello'').empty();
después:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
En lo que respecta a la memoria, una vez que se elimina un elemento del DOM y ya no hay más referencias, el recolector de basura recuperará la memoria cuando se ejecute.
¿Cuál es la diferencia entre empty()
métodos empty()
y remove()
en jQuery
, y cuando llamamos a cualquiera de estos métodos, los objetos que se crean se destruirán y se liberará la memoria?
$("body").empty()
- elimina los elementos HTML DOM dentro de la etiqueta body -
cuando declaras $("body").remove()
- elimina todo el HTML DOM junto con body TAG.
-
empty()
eliminará todos los contenidos de la selección. -
remove()
eliminará la selección y su contenido.
Considerar:
<div>
<p><strong>foo</strong></p>
</div>
$(''p'').empty(); // --> "<div><p></p></div>"
// whereas,
$(''p'').remove(); // --> "<div></div>"
Ambos eliminan los objetos DOM y deberían liberar la memoria que ocupan, sí.