I have come across the following script which checks whether an element has class a
, and if not, adds it:
if (!$("div").hasClass("a")){
$("div").addClass("a");
}
As jQuery won't add the class if it already exists, this could be changed to:
$("div").addClass("a");
However, is there any performance improvements by using hasClass
first, or is this using the same method which addClass
does anyway, and therefore duplicating the logic?
The .hasClass()
check is not useful because jQuery will also always check from within .addClass()
. It's just extra work.
You can see at the source code : https://github.com/jquery/jquery/blob/master/src/attributes/classes.js#L38-L45 that they do check if the class exists when using addClass
.
So there is no reason to use the .hasClass()
in this case.. (an exception would be if you wanted to perform more actions if the element did not have the class..)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With