我正在尝试动态更改我的选项中的选项。我注意到,这会在IE8中产生内存泄漏。选项不会从内存中删除。
之后,我在Chrome版本中尝试使用我的代码。 23,我也可以看到内存泄漏。 我展示了2个版本的代码。
jQuery verion jsfiddle.net/84Axu/1/
$('#btn').click(function () {
$('#tstSelect').empty();
for (var i = 0; i < 10000; i++) {
var option = $('');
option.text(i + 1);
option.val(i + 1);
$('#tstSelect').append(option);
}
});
纯javascript版本http://jsfiddle.net/3VFMt/。
function btnClick() {
// clear select
var select = document.getElementById('tstSelect');
while (select.firstChild)
select.removeChild(select.firstChild);
// fill select
for (var i = 0; i < 10000; i++) {
var option = document.createElement('option');
option.text = i + 1;
option.value = i + 1;
document.getElementById('tstSelect').appendChild(option);
}
};
这两者都会在IE和Chrome上造成内存泄漏。