hasClass-vs-is (v9)

Revision 9 of this benchmark created on


Preparation HTML

<span class="class111">
  Element
</span>
<span class="class10">
  Element
</span>
<span class="class20">
  Element
</span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>

Setup

var element = $('span');

Test runner

Ready to run.

Testing in
TestOps/sec
hasClass (20 classes)
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') || element.hasClass('class9') || element.hasClass('class10') || element.hasClass('class11') || element.hasClass('class12') || element.hasClass('class13') || element.hasClass('class14') || element.hasClass('class15') || element.hasClass('class16') || element.hasClass('class17') || element.hasClass('class18') || element.hasClass('class19') || element.hasClass('class20')) {
  console.log("hasClass");
}
ready
is (20 classes)
if (element.is('.class1, .class2, .class3, .class4, .class5, .class6, .class7, .class8, .class9, .class10, .class11, .class12, .class13, .class14, .class15, .class16, .class17, .class18, .class19, .class20')) {
  console.log("is");
}
ready
hasClass (2 classes)
if (element.hasClass('class1') || element.hasClass('class2')) {
  console.log("hasClass");
}
ready
is (2 classes)
if (element.is('.class1, .class2')) {
  console.log("is");
}
ready
hasClass (5 classes)
if (element.hasClass('class1') || element.hasClass('class2') || element.hasClass('class3') || element.hasClass('class4') || element.hasClass('class5')) {
  console.log("hasClass");
}
ready
is (5 classes)
if (element.is('.class1, .class2, .class3, .class4, .class5')) {
  console.log("is");
}
ready

Revisions

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