DOMとは?わかりやすく解説する!

Web技術
スポンサーリンク

DOMってなに?

わかりやすく教えて欲しい!

こういった疑問にこたえます。

この記事を読めば
  • DOMが何か理解できる
  • スクリプトからHTMLを操作する仕組みがわかる

エンジニアの僕がわかりやすく解説します。

DOMとは?

DOMとは

DOM(Document Object Model)とは、HTMLやXML文書を扱うためのプログラミングインターフェースです。

DOMを使えば、プログラムからHTMLやXMLの構造やスタイル、内容などを容易に制御できます。

現在では、ほとんどのWebブラウザがDOMを実装しており、Webページに埋め込まれたスクリプトやWebブラウザに実装された機能などからWebページ上の内容を読み取ったり、編集することが容易になっています。

JavaScriptなどのプログラムはこのDOMを利用して、HTML文書を操作しているということです。

DOMツリー

DOMツリー
DOMツリー

DOMでは対象となる文書の各要素を抽出し、それらを階層構造として扱います。

文書の最上位の要素を頂点として、下位要素が木の枝のように分かれていく木構造をしています。

DOMにおけるこの木構造はDOMツリーと呼ばれます。

各要素はノードと呼ばれ、DOMではこのノードを辿っていくことで目的のデータにアクセスし、編集等を行います。

特定のノードを基準にして、その上にあるノードを親ノード、その下にあるノードを子ノードと表現します。

JavaScriptからHTMLファイルを操作する

JavaScriptからHTMLファイルを操作してみましょう!

例えば次のようなHTMLファイルがあったとします。

<!DOCTYPE html>
<html>
  <head>
    <title>ページのタイトル</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <h1>ようこそ</h1>
    <p>これは<span class="danger">危険</span>な蛇です。</p>
    <img id="image" src="image.jpeg">

    <script>
      //ここにJavaScriptのコードを書いていく
    </script>
  </body>
</html>

これをブラウザで表示するとこのような感じ。

HTML表示

JavaScriptでノードを操作してみましょう。

document.getElementById('image').style.width = '100px';

ID名が「image」というノードを取得し、スタイルの幅を100pxにしなさいという命令です。

このコードによりimageというIDを持つノードが操作され、このような表示になります。

画像の幅が100pxになっていることが確認できます。

HTML操作後の表示

このように、DOMがあることによりJavaScriptというスクリプトから簡単にHTML文書を操作することができました。

DOMとは?まとめ

DOMをまとめるとこんな感じです。

  • DOMは階層構造をしている
  • 各要素はノードと呼ばれる
  • DOMはWebページとJavaScriptなどのプログラムをつなぐ

DOMがあることにより、指定したノードやその親子などを自由にJavaScriptから操作できることを覚えておきましょう。

以上、お疲れ様でした。

コメント

タイトルとURLをコピーしました