jquery html vs empty vs innerHTML (v15)

Revision 15 of this benchmark created by Heavensrevenge on


Preparation HTML

<ul id="my_list">
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
  <p>
    aaa
    <span>
      bbb
    </span>
  </p>
</ul>
<script src="//code.jquery.com/jquery-git2.js"></script>
<script>
  $(function() {
    var i = 0,
        $ul = $('#my_list'),
        $li = $('<li />').html('list item');

    while (i < 100) {
      $ul.append($li.clone());
      i++;
    }
  });


  function empty(element) {
    var i;
    for (i = element.childNodes.length - 1; i >= 0; i--)
    element.removeChild(element.childNodes(i));
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
innerHTML
document.getElementById('my_list').innerHTML = '';
ready
jquery html
$('#my_list').html('');
ready
jquery empty
$('#my_list').empty();
ready
custom empty function
empty(document.getElementById('my_list'))
ready
jquery empty with native
$(document.getElementById('my_list')).empty();
ready
jquery html with native
$(document.getElementById('my_list')).html('');
ready
innerHTML = null
document.getElementById('my_list').innerHTML = null;
ready
innerText = null
document.getElementById('my_list').innerText = null;
ready
replaceWith
$('#my_list').replaceWith('<ul id="my_list"></ul>');
ready
hybrid
$('#my_list')[0].innerText = null;
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.