2
我有一個按鈕單擊事件,用於抓取與選中的複選框相關聯的名稱,並將它們添加到頁面右側的複選框<ul>
。這工作正常,然後我有另一個按鈕,將刪除和<li>
的檢查checkboxes
從<ul>
。這適用於。當您添加已從右側刪除的項目時,會出現問題。該項目不在頁面上,因此它明顯從DOM中刪除,但它好像仍然保存在瀏覽器內存中。我如何着手清理內存?代碼如下。jQuery元素從DOM中刪除,但似乎存儲在內存中?
$('.add-people').click(function() {
$('.add-names:checked').each(function() {
var name = $(this).parent().siblings('td.name-cell').html();
if ($('ul.group-list').find(':contains(' + name + ')').length) {
//Name is already in list
} else {
var newLi = '<li><input id="name" class="remove-names" type="checkbox" name="' + name + '"><span>' + name + '</span></li>'
$('ul.group-list').append(newLi);
}
});
});
$('.remove-people').click(function() {
$('.remove-names:checked').each(function() {
$(this).parent().remove();
});
});
謝謝,但這真的不幫我在這裏的問題。 – stackDat 2012-07-20 01:51:12
@stackDat - 那麼你在這裏有什麼問題?我認爲我回答了有關何時清理DOM元素的問題。你有什麼實際問題(請具體說明)? – jfriend00 2012-07-20 01:51:31
@stackDat它呢,你可以閱讀這個http://stackoverflow.com/questions/864516/what-is-javascript-garbage-collection – undefined 2012-07-20 01:53:10