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