現役システムエンジニアの備忘録

技術スキルや用語などの記録を残していきます

基礎

【JavaScript入門】DOMとは?仕組み・ノード・ツリー構造を初心者向けにわかりやすく解説

投稿日:2019年4月19日 更新日:

JavaScriptのDOMとは?仕組み・ノード・ツリー構造を初心者向けにわかりやすく解説

JavaScriptでHTMLを操作するために欠かせないのが DOM(Document Object Model) です。
DOM を理解すると、ページ内の要素を自由に取得・変更・追加・削除できるようになります。



DOMとは?

DOM(Document Object Model)は、W3C によって標準化された「HTML / XML 文書をプログラムから操作するための仕組み」です。

DOM の特徴:

  • 特定のプログラミング言語に依存しない
  • HTML / XHTML / XML をツリー構造として扱う
  • JavaScript から文書内の要素を自由に操作できる

DOM では、文書を構成するすべての要素を ノード(Node) として扱います。

DOMで扱われる主なノード

  • 要素ノード(例:<div>、<p>)
  • 属性ノード(例:id=”section1″)
  • テキストノード(例:「サンプル1」などの文字)

DOM は階層構造を持っているため、次のような関係で表現されます。

  • 親ノード
  • 子ノード
  • 兄弟ノード
  • 子孫ノード

JavaScript から DOM を利用することで、ページの内容を動的に変更したり、要素を追加したり、削除したりできます。



DOMツリーのイメージ

次のような HTML を例に、DOM がどのようなツリー構造になるか見てみましょう。

<html>
    <head>
        <title>サンプルページ</title>
    </head>
    <body>
        <div id=”section1″>
            <p>サンプル1</p>
            <img src=”sample.jpg” alt=”解説図”>
        </div>
    </body>
</html>

この HTML は DOM では次のようなツリー構造になります。

  • html
    • head
      • title → テキストノード「サンプルページ」
    • body
      • div(id=”section1″)
        • p → テキストノード「サンプル1」
        • img(src / alt 属性)

このように、DOM は文書全体を「木(ツリー)」として扱い、JavaScript から自由に操作できるようにします。



まとめ

  • DOM は HTML / XML をプログラムから操作するための仕組み
  • 文書はツリー構造で表され、すべての要素がノードになる
  • JavaScript から DOM を使うことで、ページ内容を自由に変更できる
  • 要素ノード・属性ノード・テキストノードなどが存在する

関連リンク

-基礎
-

執筆者:

関連記事

【JavaScript入門】基本書式と記述ルールまとめ|命名規則・文字列・数値・セミコロンの使い方

JavaScriptの基本書式と記述ルールまとめ|初心者が知っておくべき注意点を解説 JavaScriptを書くときには、基本的な書式や命名ルール、文字列の扱いなど、知っておくべきポイントがいくつかあ …

【JavaScript入門】breakとcontinueの使い方|ループ処理を制御する基本構文を初心者向けに解説

JavaScriptのbreakとcontinueの使い方|繰り返し処理を制御する基本構文を解説 JavaScriptの繰り返し処理(for / while / do…while)や sw …

【JavaScript入門】初心者向けに特徴・歴史・できることをわかりやすく解説

JavaScriptとは?初心者向けに特徴・歴史・できることをわかりやすく解説 Web制作やWebシステム開発の現場で必ず触れる機会がある JavaScript。久しぶりに触ると「こんな書き方だったっ …

【JavaScript入門】noscript要素の使い方|非対応ブラウザへの配慮とHTML5での変更点

noscript要素の使い方|JavaScript非対応ブラウザへの配慮とHTML5での変更点 ユーザーの中には、JavaScriptを無効にしていたり、スクリプトをサポートしないブラウザ(ユーザーエ …

【JavaScript入門】演算子の種類と使い方まとめ|算術・比較・論理・代入・ビット演算子を初心者向けに解説

JavaScriptの演算子まとめ|算術・比較・論理・ビット・代入演算子を初心者向けに解説 JavaScriptには、計算や比較、条件分岐などに使うさまざまな演算子があります。 演算子を理解すると、コ …