導入:なぜclassListを使うのか?
Webサイト制作で、ボタンを押した時にメニューを表示したり、エラー時に色を変えたりといった「動的な見た目の変更」は欠かせません。以前は、要素のクラス属性全体を書き換える手法が主流でしたが、それだと既存のクラスが消えてしまう等のミスが起きやすいという課題がありました。そこで登場するのが Element.classList です。これを使うと、特定のクラスだけを安全・簡単に操作できるため、現代のフロントエンド開発では必須の知識となっています。
基礎知識:classListとは?
classList とは、HTML要素が持っている「クラス名のリスト」を管理するための便利なAPIです。
クラス名に直接触れるのではなく、JavaScriptが用意した「追加」「削除」「切り替え」といった専用のメソッドを使うことで、ミスを減らしながら効率的にスタイルを制御できます。
実装・解決策:主要なメソッド
以下の4つのメソッドを覚えるだけで、ほとんどの操作が完結します。
・add():クラスを追加する。
・remove():クラスを削除する。
・toggle():クラスがあれば削除し、なければ追加する(トグル機能)。
・contains():そのクラスを持っているか判定する(true/falseを返す)。
サンプルプログラム:クリックでスタイルを切り替える
以下のコードをHTMLファイルに貼り付けてブラウザで開くと、ボタンをクリックするたびに背景色が変わる動きを確認できます。
応用・注意点:現場での活用ポイント
1. 複数追加のコツ:addメソッドやremoveメソッドは、カンマ区切りで複数のクラスを一度に操作できます。
例:element.classList.add(‘class1’, ‘class2’);
2. 存在しないクラスへの対処:removeメソッドで存在しないクラスを指定しても、エラーにはならず無視されるため、事前にクラスの有無をチェックしなくても安全にコードを書くことができます。
3. classNameとの違い:昔ながらの element.className = ‘new-class’ は、既存のクラスをすべて上書きして消してしまいます。特定のスタイルだけ変更したい場合は、必ず classList を使いましょう。
これらを活用して、よりインタラクティブなWebサイト作りを楽しんでください!