пустой jQuery () по сравнению с удаляет ()

Между чем различие empty() и remove()методы в jQuery, и когда мы называем какой-либо из этих методов, создаваемые объекты будут уничтожены, и память освобождена?

97
задан informatik01 2 July 2016 в 07:34
поделиться

2 ответа

  • empty () удалит все содержимое выделения.
  • remove () удалит выделение и его содержимое.

Подумайте:

<div>
    <p><strong>foo</strong></p>
</div>

$('p').empty();  // --> "<div><p></p></div>"

// whereas,
$('p').remove(); // --> "<div></div>"

Оба они удаляют объекты DOM и должны освободить занимаемую ими память, да.

157
ответ дан 24 November 2019 в 05:24
поделиться

В документации это очень хорошо объясняется. Он также содержит примеры:

до:

<div class="container">
  <div class="hello">Hello</div>
  <div class="goodbye">Goodbye</div>
</div>

.remove ():

$('.hello').remove();

после:

<div class="container">
  <div class="goodbye">Goodbye</div>
</div>

до:

<div class="container">
  <div class="hello">Hello</div>
  <div class="goodbye">Goodbye</div>
</div>

.empty ():

$('.hello').empty();

после:

<div class="container">
  <div class="hello"></div>
  <div class="goodbye">Goodbye</div>
</div>

Что касается памяти, то как только элемент удален из DOM и больше нет ссылок на него, сборщик мусора освободит память при запуске.

54
ответ дан 24 November 2019 в 05:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: