DOM機能とは何ですか?

DOM機能とは?

DOM機能とは?

ドキュメントオブジェクトモデル (DOM) は、ウェブページの構造を表現し、プログラムがその内容、スタイル、構造にアクセスして変更できるようにするアプリケーションプログラミングインターフェース (API) です。簡単に言うと、DOMはウェブページをプログラムが理解・操作できる形に表現したものです。

DOMの役割

ウェブページは、HTML、CSS、JavaScriptなどの技術を使って作られています。ブラウザは、これらのコードを読み込んで、私たちが目にするページを表示します。DOMは、この読み込まれたHTML文書をツリー構造で表現し、プログラムがこのツリー構造にアクセスして、以下のような操作を可能にします。

操作 説明
要素の取得 ID、クラス名、タグ名などを指定して、HTML要素を取得する
内容の変更 要素内のテキストやHTMLを変更する
スタイルの変更 要素のCSSスタイルを変更する
要素の追加・削除 新しい要素を追加したり、既存の要素を削除する
イベントの制御 クリックやマウスオーバーなどのイベントに対して、JavaScriptのコードを実行する

DOMの構造

DOMは、HTML文書をノードツリーとして表現します。ノードツリーは、文書内の各要素、属性、テキストをノードとして表現したものです。

例えば、以下のようなHTML文書があるとします。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>DOMの例</title>
</head>
<body>
    <h1>見出し</h1>
    <p>段落です。</p>
</body>
</html>

このHTML文書は、DOMでは以下のようなノードツリーで表現されます。

    document
    ├── html
    │   ├── head
    │   │   ├── meta
    │   │   └── title
    │   │       └── #text: DOMの例
    │   └── body
    │       ├── h1
    │       │   └── #text: 見出し
    │       └── p
    │           └── #text: 段落です。

DOM操作の例

JavaScriptを使って、DOMを操作する例をいくつか紹介します。

要素の取得

// IDで要素を取得
const elementById = document.getElementById("myElement");

// クラス名で要素を取得
const elementsByClassName = document.getElementsByClassName("myClass");

// タグ名で要素を取得
const elementsByTagName = document.getElementsByTagName("p");

内容の変更

// 要素の内容を書き換える
document.getElementById("myElement").textContent = "新しい内容";

スタイルの変更

// 要素の背景色を赤に変更する
document.getElementById("myElement").style.backgroundColor = "red";

まとめ

DOMは、JavaScriptなどのプログラミング言語を使ってウェブページを動的に操作するための重要な技術です。DOMを理解することで、よりインタラクティブでリッチなウェブページを作成することができます。

参考文献

関連QA

Q1: DOM操作はどのような時に使いますか?

A1: ユーザーの操作に応じてページの内容を変更したり、アニメーションを実装したりする場合など、ページを動的に操作したい時に使用します。

Q2: DOM操作を行う上での注意点はありますか?

A2: DOM操作は、ページのパフォーマンスに影響を与える可能性があります。特に、大量の要素を操作する場合は、パフォーマンスに注意する必要があります。

Q3: jQueryなどのライブラリを使う利点は?

A3: jQueryなどのライブラリは、DOM操作をより簡単に行うための便利な関数を提供しています。また、ブラウザ間の互換性を吸収してくれるため、開発効率の向上に役立ちます。

その他の参考記事:jquery dom 変換