我正在尝试动态更改我的选择中的选项。我注意到,这会在 IE8 中产生内存泄漏。选项不会从内存中删除。
之后,我在 Chrome 版本中尝试我的代码。23,我也可以看到内存泄漏。我在那里展示了 2 个版本的代码。
jQuery 版本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 上提供了内存泄漏。