jQuery .remove vs. .hide vs. detach

JavaScript performance comparison

Revision 15 of this test case created by fghfgh

Preparation code

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

<div id="remove-me">
<input/><input/><input/><input/><input/><input/>
</div>
<div id="hide-me"><input/><input/><input/><input/><input/><input/></div>
<div id="detach-me"><input/><input/><input/><input/><input/><input/></div>

<script>
  function init() {
   // The magic init() function will be executed once before every test
   // Still not perfect, but definitely better
   $('<div id="remove-me" />').appendTo('body');
   $('#hide-me').show();
   if (window.$detached != null) {
    window.$detached.appendTo('body');
   }
  }
</script>

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
.remove()
window.$removed = $('#remove-me').children().remove();
pending…
.hide()
window.$hidden = $('#hide-me').hide();
pending…
empty
window.$detached = $('#detach-me').empty();
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment