hasClass-vs-is

JavaScript performance comparison

Revision 3 of this test case created

Preparation code

<span class="class5">Element</span>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
Benchmark.prototype.setup = function() {
    var element = $('span');
};
</script>

Preparation code output

Element

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
hasClass
if( element.hasClass('class1') || 
element.hasClass('class2') ||
element.hasClass('class3') ||
element.hasClass('class4') ||
element.hasClass('class5') ||
element.hasClass('class6') ||
element.hasClass('class7') ||
element.hasClass('class8')
) {
  console.log("hasClass");
}
pending…
is
if( element.is('.class1, .class2, .class3, .class4, .class5, .class6, .class6, .class8') ) {
  console.log("is");
}
pending…
loop
var selectors = ['class1', 'class2', 'class3', 'class4', 'class5', 'class6', 'class7', 'class8']; 
for (i in selectors) {
            if (element.hasClass(selectors[i]))
                console.log("loop")
                break;
        }
 
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