Native Dojo Class Manipulation v HTML5

Benchmark created by James Thomas on


Description

Testing out the performance of Dojo's HTML addClass/removeClass/toggleClass methods against HTML5's native support for ClassList.

Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js"></script>

<div id="empty_class">
</div>
<div class="a_class" id="single_class">
</div>
<div class="a_class b_class c_class" id="many_classes">
</div>

Test runner

Ready to run.

Testing in
TestOps/sec
Add Class - Dojo
dojo.addClass("empty_class", "some_class");
ready
Add Class - HTML5
dojo.byId("empty_class").classList.add("some_class");
ready
Remove Class - Dojo
dojo.removeClass("single_class", "a_class");
ready
Remove Class - HTML5
dojo.byId("single_class").classList.remove("a_class");
ready
Toggle Class - Dojo
dojo.toggleClass("many_classes", "a_class");
ready
Toggle Class - HTML5
dojo.byId("many_classes").classList.toggle("a_class");
ready
Has Class - Dojo
dojo.hasClass("single_class", "a_class");
ready
Has Class - HTML5
dojo.byId("single_class").classList.contains("a_class");
ready

Revisions

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