HTML

class・id の違い

初級

読み方:クラス・アイディー のちがい|英語:class vs id

classは複数の要素に同じ名前をつけられる。idは1ページに1つだけ。基本はclassを使う。

やさしい説明

classは同じスタイルを複数の要素に使い回せます。idは1ページに1つだけの要素を特定するために使います。

学校に例えると、classは「役職」(委員長、部長など複数人いる)、idは「出席番号」(1人だけを特定する)です。

CSSでスタイルを当てるときはclassを使うのが基本です。idはJavaScriptで特定の要素を操作するときや、ページ内リンクの目印に使います。

classとidの違いまとめ

項目 class id
使用回数何度でも使える1ページに1つだけ
CSSセレクタ.card(ドット)#header(シャープ)
主な用途スタイル・レイアウトJS操作・ページ内リンク
複数指定1要素に複数のクラスを付与可1要素に1つのみ

具体例・使い方

<!-- class: 複数の要素に同じスタイルを適用 -->
<div class="card">カード1</div>
<div class="card">カード2</div>
<div class="card">カード3</div>

<!-- 1つの要素に複数のクラスを付与することもできる -->
<button class="btn btn-primary">送信</button>

<!-- id: 1ページに1つだけ -->
<header id="top">ヘッダー</header>
<a href="#top">ページの先頭に戻る</a>
/* CSSでの書き方 */
.card {                /* classはドット(.) */
  border: 1px solid #ccc;
  padding: 16px;
}

#top {                 /* idはシャープ(#) */
  background: navy;
  color: white;
}

JavaScriptでの使い方の違い

// id: 1つの要素を取得
const header = document.getElementById("top");

// class: 複数の要素をまとめて取得
const cards = document.querySelectorAll(".card");
cards.forEach((card) => {
  card.style.background = "lightblue";
});

JavaScriptで要素を操作するとき、idなら getElementById、classなら querySelectorAll を使います。1つだけ操作したいときはid、複数まとめて操作したいときはclassが便利です。

いつ使う?

  • class を使う場面 — CSSでデザインを当てる、同じスタイルを複数要素に適用、JSで複数要素をまとめて操作
  • id を使う場面 — ページ内リンク(href="#section1")の目印、JSで特定の1要素を操作、フォームの labelinput を紐付ける

迷ったら class を選ぶのが正解です。idは「絶対に1ページ1つ」という確信があるときだけ使いましょう。

間違いやすいポイント

❌ 同じidを複数の要素に使う

idは1ページに1つだけという決まりです。重複するとJavaScriptが最初の要素しか取得できなくなるバグが発生します。

<!-- ❌ idは1ページに1つだけ! -->
<div id="card">カード1</div>
<div id="card">カード2</div>

<!-- ✅ 複数に使うならclass -->
<div class="card">カード1</div>
<div class="card">カード2</div>

❌ CSSセレクタを間違える

classは .名前(ドット)、idは #名前(シャープ)です。記号を間違えるとスタイルが当たりません。

よくある疑問

Q: idはいつ使う?

A: ページ内リンクのアンカーや、JavaScriptで特定の要素を取得するときに使います。

Q: 同じidを2つの要素につけたらどうなる?

A: HTMLとしては無効です。JavaScriptのgetElementByIdが正しく動かなくなる可能性があります。

関連用語

  • class — 複数の要素にスタイルを適用するための属性
  • id — 1ページに1つだけの要素を識別する属性
  • セレクタ — CSSでスタイルを適用する要素を指定する記法

📖 関連レッスン

レッスンを見る →

関連ブログ記事

⚠️ 関連するエラー

❓ 関連するQ&A