Test case details

Preparation Code

<div id="main_node"></div> <script>   var node = document.getElementById('main_node'),       fragment = document.createDocumentFragment();     function replaceHTML(el, html) {    var el = typeof el === "string" ? document.getElementById(el) : el,        newEl; /*@cc_on  el.innerHTML = html  This is only fast on IE @*/    if (el) {     newEl = el.cloneNode(false);     newEl.innerHTML = html;     if (el.parentNode) {      el.parentNode.replaceChild(newEl, el);     }    }   } </script>

Test cases

Test #1

fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); fragment.appendChild(document.createElement('div')); node.appendChild(fragment); node.innerHTML = '';

Test #2

node.innerHTML = '<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>'; node.innerHTML = '';

Test #3

replaceHTML(node, '<div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>'); replaceHTML(document.getElementById('main_node'), 'tested');