Danny Englander Danny Englander - 1 month ago 13
jQuery Question

JQuery .hasClass for multiple values in an if statement

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.

Answer

You just had some messed up parentheses in your 2nd attempt.

var $html = $("html");

if ($html.hasClass('m320') || $html.hasClass('m768')) {

  // do stuff 

}