ClassList versus ClassName

JavaScript performance comparison

Revision 2 of this test case created by Kashey

Preparation code

<div id="foo"
></div>
<script>
 fooEl = document.getElementById('foo');
</script><script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
      
<script>
Benchmark.prototype.setup = function() {
  fooEl.className = 'aaaa bbbb cccc dddd';
  jFooEl = jQuery(fooEl);

};
</script>

Preparation code output

<div id="foo" ></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Test runner

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

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
Class List
fooEl.classList.remove('ffff');    // actually adds
fooEl.classList.add('bbbb');    // duplicate
fooEl.classList.remove('eeee'); // not found
fooEl.classList.add('ffff');    // actually adds
pending…
Raw Class Name
fooEl.className = 'aaaa bbbb cccc dddd';
fooEl.className += ' bbbb';
fooEl.className = 'aaaa bbbb cccc dddd bbbb';
fooEl.className += 'ffff';
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.

1 Comment