JavaScriptでスタイルを追加・削除する基本と実践

※当サイトではアフィリエイト広告を利用しています

Web制作において、要素の見た目を動的に変える機会はよくあります。この記事では、JavaScriptを使ってHTML要素にスタイルを追加したり、削除したりする方法をまとめます。

jQueryは使わず、素のJavaScriptで完結します。


JavaScriptでスタイルを編集する

要素に直接スタイルを追加する方法

最も直接的な方法は、element.style を使う方法です。

const box = document.getElementById("box");
box.style.backgroundColor = "blue";
box.style.width = "200px";

style プロパティを通じて個別にCSSを設定できます。これはインラインスタイルとして反映され、HTML上の style="..." と同等になります。


スタイルの削除

element.style に対して 空文字 を代入することで、スタイルを削除できます。

box.style.backgroundColor = ""; // 削除され、元のCSSに戻る

または、removeProperty() を使うことも可能です:

box.style.removeProperty("background-color");

classListを使ってスタイルを制御する方法

CSSの管理が分離されている場合は、クラスの追加・削除で制御するのがスマートです。

box.classList.add("highlight");    // クラス追加
box.classList.remove("highlight"); // クラス削除
box.classList.toggle("highlight"); // 追加と削除を切り替え

.classList.toggle()オン・オフの切り替えに便利です。


条件付きでスタイルを適用する

たとえば、クリックで背景色を切り替えるには以下のように書けます:

box.addEventListener("click", () => {
box.classList.toggle("active");
});

CSSファイルで .active に対応するスタイルを定義しておけば、JavaScript側はクラス操作だけで済みます。

.active {
background-color: lightgreen;
}

style か classList か、どちらを使うべき?

style のメリット・デメリット:

  • 即時に反映され、細かな調整に便利
  • 複雑になると管理が難しい

classList のメリット・デメリット:

  • スタイルの分離・再利用がしやすい
  • CSSファイルとセットで使う前提

おすすめの使い分け

使用目的方法
一時的な調整style を直接操作
状態による切り替えclassList を操作
再利用性・保守性classList を優先

まとめ

JavaScriptでスタイルを操作するには、直接 style を触る方法と、classList を使う方法の2つがあります。どちらも用途によって使い分けることで、コードがきれいになり、保守性も上がります。

Web制作や動的UIを扱う上で、スタイルの操作は避けて通れないテクニックです。基本を押さえて、自在にスタイルを操れるようになりましょう。

コメント