Test name | Executions per second |
---|---|
cloneNode(true) - While -> Remove | 2.6 Ops/sec |
innerHTML | 9.4 Ops/sec |
cloneNode(true) - replaceChildren | 3.8 Ops/sec |
cloneNode(true) - replace whole div | 23.6 Ops/sec |
<html>
<body>
<div id="container">
</div>
<body>
<html>
var str = `<div>${Math.random().toString().slice(2)}</div>`;
var container = document.getElementById("container");
var temp = document.createElement('template')
var res = '';
for(i=0; i<30000; i++){
res += str
}
temp.innerHTML = res;
var div = document.createElement('div')
container.appendChild(div);
div.innerHTML = res;
while (div.firstChild) {
div.removeChild(div.firstChild);
}
div.append(temp.content.cloneNode(true));
div.innerHTML = res;
div.replaceChildren(temp.content.cloneNode(true));
const newDiv = div.cloneNode(false);
newDiv.append(temp.content.cloneNode(true));
div.parentNode.replaceChild(newDiv, div);
div = newDiv;