1. ホーム
  2. javascript

[解決済み] JQuery .hasClassでif文の複数の値に対応させる

2022-02-18 12:54:04

質問

このような簡単なif文があります。

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

// do stuff 

}

これは期待通りに動作します。しかし、私はもっと多くのクラスを if statement にいずれかのクラスが存在するかどうかを確認します。 <html> タグを使用します。全部ではなく、少なくとも1つのクラスが存在することが必要ですが、もっと多くてもかまいません。

私のユースケースは、クラス(例えば m320 , m768 )を様々なビューポートの幅に合わせて追加し、特定の幅(クラス)の場合のみ特定のJqueryを実行するようにしたい。

以下は、これまでに試した内容です。

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 

    }

しかし、どれもうまくいかないようです。何が間違っているのか分かりませんが、おそらく構文か構造が間違っているのでしょう。

どのように解決するのですか?

2回目の試行で括弧がぐちゃぐちゃになっただけでしょう。

var $html = $("html");

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

  // do stuff 

}