Testcase for jQuery Ticket 6527
replaceWith doesn't leak memory
by jitter
HTML
<button id="clickme">Start</button>
<div id="mytable"> </div>
JavaScript
var count = 0,
id = window._intervalID;
function getHtml() {
var html = ['<div id="mytable"><table>'];
count++;
for (var i = 0; i < 40; i++) {
html.push('<tr>');
for (var j = 0; j < 20; j++)
html.push('<td>' + count + 'c_' + i + '_' + j + '</td>');
html.push('</tr>');
}
html.push('</table></div>');
return html.join("");
}
function intervalRender() {
id = setInterval(function() {
jQuery('#mytable').replaceWith(getHtml());
if (count > 1000) clearInterval(id);
}, 10);
}
$(function() {
$("#clickme").bind("click", function() {
if (!id) {
intervalRender();
$(this).text("Stop");
} else {
clearInterval(id);
id = null;
$(this).text("Start");
}
});
});