JavaScript

この記事では、HTML要素へCSSクラスを重複なく追加するJavaScriptのclassList.add()メソッドを説明します。

JavaScript’s classList.add() method is used to add class names to a specified element without duplication, making it easy to implement visual or behavioral changes through CSS and DOM manipulations.

classList.add()

classList.add() は、要素の class 属性にクラス名を追加するメソッドです。

基本的な使い方

HTML

<!-- 例: <div> 要素を取得し、そのクラスに"active"を追加 -->
<div id="myElement"></div>

<script>
	const element = document.getElementById('myElement');
	element.classList.add('active');
</script>

複数クラスの追加

JavaScript

element.classList.add('visible', 'highlight');

classList.add() と className の違い

className プロパティとの比較

className
要素の class 属性の文字列全体を直接読み書きする。
  • 例:element.className = 'foo bar' のように文字列を上書き。
  • classList と比べると、クラス名の追加・削除や重複チェックを文字列操作で自分で管理する必要がある。
classList.add()
個々のクラスを追加する。
  • すでに存在するクラスは再追加されず、管理が自動化される。

メリット

よくあるユースケース

表示・非表示の切り替え
  • 例:element.classList.add('hidden');
     → CSS 側で .hidden { display: none; } のように制御
  • 取り除くときは element.classList.remove('hidden') を使います。
アクティブ状態の付与
  • ボタンやタブのアクティブ状態を示すクラス名を追加することで、スタイルを変更できる。
複数条件でのクラス操作
  • classListtoggle()contains() などのメソッドも用意されており、状況に応じて効率よく操作できる。

エラーや注意点