I have a simple if statement as such:
if ($('html').hasClass('m320')) { // do stuff }
This works as expected. However, I want to add more classes to the if statement
to check if any of the classes are present in the <html>
tag. I need it so it's not all of them but just the presence of at least one class but it can be more.
My use case is that I have classes (e.g. m320
, m768
) added for various viewport widths so I only want to execute certain Jquery if it's a specific width (class).
Here is what i have tried so far:
1.
if ($('html').hasClass('m320', 'm768')) { // do stuff }
2.
if ($('html').hasClass('m320')) || ($('html').hasClass('m768')) { // do stuff }
3.
if ($('html').hasClass(['m320', 'm768'])) { // do stuff }
None of these seem to work though. Not sure what I am doing wrong but most likely my syntax or structure.
You could use is()
instead of hasClass()
:
if ($('html').is('.m320, .m768')) { ... }
You just had some messed up parentheses in your 2nd attempt.
var $html = $("html"); if ($html.hasClass('m320') || $html.hasClass('m768')) { // do stuff }
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