実践スキル

DOM操作

JavaScriptでHTMLを自由自在に操る技術

DOM(ドム)とは?Webページの制御盤

DOM (Document Object Model) は、ブラウザが読み込んだHTML文書を「プログラムから操作可能なオブジェクト」として表現したものです。JavaScriptを使ってDOMを操作することで、以下のようなことが可能になります。

  • ボタンクリックでポップアップを出す
  • フォームの入力内容をリアルタイムでチェックする
  • 新しいチャットメッセージを画面に追加する

つまり、静的なHTMLに「命」を吹き込むのがDOM操作です。

1. 要素を取得する:操作の対象を決める

何を操作するかを決めるために、まずはHTML要素を取得します。現代の開発では主に以下の2つが使われます。

querySelector / querySelectorAll

CSSセレクタと同じ書き方で要素を取得できる、最も強力で汎用的なメソッドです。

JavaScript
// 最初の1つだけ取得
const title = document.querySelector(".main-title");

// 該当するすべてを取得(リストで返る)
const buttons = document.querySelectorAll(".btn");
buttons.forEach(btn => {
    console.log("ボタンが見つかりました");
});

getElementById

IDを使って特定の要素を高速に取得します。IDはページ内でユニークである必要があるため、必ず1つの要素(またはnull)が返ります。

const header = document.getElementById("header");

2. 中身を書き換える

取得した要素の内容を変更します。

  • textContent: 安全に「文字」だけを書き換えます。HTMLタグは無視されます。
  • innerHTML: HTMLタグを含めて書き変えます。便利ですが、セキュリティリスク(XSS)に注意が必要です。
const message = document.querySelector("#msg");
message.textContent = "こんにちは!"; 
// message.innerHTML = "太字になります";

3. スタイルを変更する

CSSを直接書き換えることも可能です。プロパティ名はキャメルケース(`backgroundColor`など)になります。

const box = document.querySelector(".box");
box.style.backgroundColor = "red";
box.style.display = "none"; // 非表示にする

4. イベントを監視する

ユーザーの操作(クリック、入力、スクロールなど)を検知するには `addEventListener` を使います。

const btn = document.querySelector("#save-btn");

btn.addEventListener("click", () => {
    console.log("保存しました!");
    btn.textContent = "保存完了";
    btn.style.backgroundColor = "#ccc";
});

応用:要素を新しく作る

`document.createElement` を使うと、HTMLに書かれていない要素をプログラムで生成し、ページに追加(`appendChild`)できます。ToDoリストアプリなどで必須の技術です。

まとめ

DOM操作はJavaScriptの「手足」です。これを自在に操れるようになれば、アニメーション、ゲーム、Webアプリなど、ブラウザ上で動くあらゆる表現が可能になります。まずは `querySelector` と `addEventListener` のペアを確実に覚えましょう。