jQueryでクラス(スタイル)を適用する(addClass, removeClass, toggleClass, hasClass)

jQueryではスタイルを指定するのにcssメソッドを使います。
cssメソッドではスタイルのプロパティ名と値を指定しますが、jQueryではDOM要素のスタイルを適用するのに直接スタイルを設定するのではなく、すでに定義されているスタイルのクラスを指定することもできます。
この記事では、スタイルの適用にクラスを指定する方法を紹介します。

スタイルクラスの適用(追加)する

スタイルクラスの適用には、addClassメソッドを使用します。addClassメソッドは、定義されているスタイルクラスを指定したDOM要素に追加することができます。

addClassメソッドの書式(構文)

addClassメソッドの引数には適用(追加)するスタイルのクラス名を指定します。
クラス名はスペースでつなげて複数指定することもできます。

addClassメソッドのサンプルコード

ブラウザでの表示

jQuery addClassメソッド

スタイルクラスの除外(削除)する

スタイルクラスの除外には、removeClassメソッドを使用します。removeClassメソッドは、すでにDOM要素に適用されているスタイルクラスを取り除くことができます。

removeClassメソッドの書式(構文)

removeClassメソッドの引数には除外(削除)するスタイルのクラス名を指定します。
クラス名はaddClassメソッドと同様にスペースでつなげて複数指定することもできます。

removeClassメソッドのサンプルコード

ブラウザでの表示

jQuery removeClassメソッド

スタイルクラスを交互の適用/除外する

スタイルクラスの適用と除外を交互に切り替えるには、toggleClassメソッドを使用します。toggleClassメソッドは、DOM要素に対してスタイルクラスが適用されていなければ適用し、すでに適用されている場合は除外します。
toggleClassメソッドはDOM要素がクリックされた際にスタイルを交互に入れ替えるような処理に適しています。例えばチェックボックスをスタイル(画像やアイコンフォント)で表現する場合にはtoggleClassメソッドを使用することで簡単に実装できます。

toggleClassメソッドの書式(構文)

toggleClassメソッドの引数には適用(追加)/除外(削除)するスタイルのクラス名を指定します。
クラス名はaddClassメソッド、removeClassメソッドと同様にスペースでつなげて複数指定することもできます。

toggleClassメソッドのサンプルコード

ブラウザでの表示

jQuery toggleClassメソッド1

jQuery toggleClassメソッド2

スタイルクラスが適用されているかどうかを判定する

あるDOM要素にスタイルクラスが適用されているかどうかを判定するには、hasClassメソッドが使用します。hasClassメソッドは、指定したスタイルクラスがDOM要素に適用されている場合はtrueを返します。適用されていなければfalseを返します。
hasClassメソッドは、スタイルクラスの適用によってDOM要素の状態を判断する場合などに使用できます。

hasClassメソッドの書式(構文)

toggleClassメソッドの引数には適用(追加)/除外(削除)するスタイルのクラス名を指定します。
クラス名はaddClassメソッド、removeClassメソッド、toggleClassメソッドと同様にスペースでつなげて複数指定することもできます。

hasClassメソッドのサンプルコード

ブラウザでの表示

jQuery hasClassメソッド1
上記の状態で「Sample」をクリックすると「true」が表示されます。「Sample1」をクリックすると「true」が表示されます。「Sample2」をクリックすると「true」が表示されます。「Sample3」をクリックすると「false」が表示されます。「Sample123」をクリックすると「false」が表示されます。

jQuery hasClassメソッド2
上記の状態で「Sample」をクリックすると「false」が表示されます。「Sample1」をクリックすると「false」が表示されます。「Sample2」をクリックすると「false」が表示されます。「Sample3」をクリックすると「true」が表示されます。「Sample123」をクリックすると「false」が表示されます。