DOMとは?JavaScriptがWebページを操作する対象を小学生でもわかるように整理

DOMとは?JavaScriptがWebページを操作する対象を小学生でもわかるように整理のサムネイル

DOMとは、Webページの部品をブラウザーの中で扱いやすい形にしたものです。JavaScriptがWebページを動かせるのは、このDOMを操作しているからです。まず押さえるべきなのは、DOMは「画面そのもの」ではなく、「画面の中身を木のように整理したデータのまとまり」だという点です。

DOMは Document Object Model の略です。HTMLで書いたページをブラウザーが読み込むと、ブラウザーはその内容をもとにDOMを作ります。JavaScriptは、そのDOMを見たり、書きかえたり、部品を増やしたり消したりできます。つまり、DOMはHTMLとJavaScriptをつなぐ橋のような役割です。

ここで大事なのは、HTMLとDOMは同じではないことです。HTMLは人が書く元の文章、DOMはブラウザーが読み取って作った「動かせる形」です。見た目が同じでも、中ではブラウザーが整えたDOMが使われています。

よくある疑問:HTMLを変えなくても、JavaScriptで画面が変わるのはなぜですか?

ブラウザーはHTMLを読んでDOMを作り、JavaScriptはそのDOMを触って画面を更新するからです。HTMLの文字列を直接いじるのではなく、DOMという部品表を操作します。

目次

DOMの基本を先にそろえる

DOMは木の形で考えるとわかりやすいです。ページ全体が1本の木で、html の中に headbody があり、body の中に見出し、段落、画像、ボタンなどがぶら下がっています。ひとつひとつの部品を「ノード」と呼びます。とくに、タグの部分は要素ノード、文字はテキストノードとして扱われます。

JavaScriptはこの木をたどって、必要な部品を探します。たとえば document.querySelector('#title') のように書くと、IDが title の要素を見つけられます。そのあとで textContent を変えれば文字が差し替わり、classList を変えれば見た目の切り替えにもつながります。

DOMは「構造」を扱う仕組みなので、CSSのように色や大きさだけを決めるものとは役割が違います。CSSは見た目、DOMは部品の入れもの、JavaScriptはその部品を動かす担当、と考えると整理しやすいです。

身近なたとえで考えるDOM

DOMを学校の教室にたとえると、HTMLは「座席表の紙」です。どこに机があるか、だれがどこに座るかを書いた設計図です。DOMは、実際に教室へ入ったあとに並んでいる机や名札の配置です。先生が黒板に書いた指示を見て、机を動かしたり、名札を付け替えたりできる状態です。

JavaScriptは、その教室で動ける係です。名札を変える、掲示を追加する、消しゴムを片づける、といった作業をします。紙の座席表そのものを毎回書き直すのではなく、今ある教室の中身をその場で整えるイメージです。

だから、JavaScriptでできることは「文章を読む」だけではありません。入力された文字をチェックしたり、クリックに反応して表示を変えたり、APIから取ってきたデータを画面に入れたりできます。DOMは、その作業台です。

実務ではどう使うのか

1. ボタンを押したら文言を変える

たとえば「もっと見る」ボタンを押したら、説明文を開いたり閉じたりしたい場面があります。JavaScriptはDOMからその段落やボタンを見つけて、表示・非表示の切り替えをします。ページを読み直さなくても動くので、操作感がよくなります。

2. フォームの入力チェックをする

入力欄に文字が入っているか、メールの形になっているかを、送信前に確認したいことがあります。こうした場面では、フォームの要素をDOMで取得して、入力内容を見ます。空欄なら注意文を出し、入力が正しければ送信へ進める、という流れです。

3. APIの結果を画面に出す

Webアプリでは、サーバーからデータを取ってきて、その内容を画面に表示することがよくあります。REST APIから返ってきた JSON を受け取り、JavaScriptがDOMを使って一覧やカードを作ります。たとえば、商品名、価格、在庫数を1件ずつ画面に並べる処理です。ここでは、データそのものと表示する場所を分けて考えるのがポイントです。

実際のコードでは、APIから受け取った配列をループしながら、lidiv をDOMに追加していきます。これにより、ページ全体を作り直さなくても、必要な部分だけを更新できます。

4. 開発環境と本番環境で差を確認する

DOM操作は、作った人のPCでは動くのに、本番では見え方が違うことがあります。そのため、開発環境と本番環境の違い を理解しておくことが大切です。読み込むCSSやJavaScriptの順番、画像のパス、APIのURLが違うと、DOMの更新結果も変わることがあります。

また、画面が思った通りに変わらないときは、テストで「押したら変わるか」「入力したらエラー文が出るか」を確かめると見つけやすいです。DOMは目に見える結果に直結するので、動作確認の順番を決めておくと調べやすくなります。

図解で整理

HTMLとDOMの違い
HTMLは書いた元データ、DOMはブラウザーが作る操作対象です。

DOMを理解する近道は、HTMLとDOMの違いを分けて見ることです。HTMLは書かれた元データ、DOMはブラウザーが作る操作対象です。JavaScriptはDOMを触ることで、ページの文字、色、表示順、部品の追加・削除を行います。

  • HTMLは「書いたもの」
  • DOMは「ブラウザーが作ったもの」
  • JavaScriptは「DOMを動かすもの」

この3つを分けて考えると、「なぜHTMLを直していないのに画面が変わるのか」「なぜ要素を取ってきてから操作するのか」が見えやすくなります。最初は少し遠回りに見えても、DOMを知るとWebページの動きがかなり整理して見えるようになります。

3問クイズ

Q1. DOMは、主に何を表していますか?

答えを見る

答え:ブラウザーが作る、Webページの部品を木の形で表した仕組みです。

Q2. JavaScriptがDOMを使うと、どんなことができますか?

答えを見る

答え:文字を変える、部品を追加する、表示を切り替えるなど、ページの内容を動かせます。

Q3. HTMLとDOMは、同じものですか?

答えを見る

答え:同じではありません。HTMLは元の書き方で、DOMはブラウザーが読み込んで作った操作対象です。

まとめ

DOMとは、Webページをブラウザーの中で操作しやすくした仕組みです。HTMLが元の材料、DOMがブラウザーの中でできた部品表、JavaScriptがそれを動かす担当、と覚えると理解しやすくなります。まずは「JavaScriptはDOMを触っている」と押さえるだけでも、Webページの動きがぐっと見えるようになります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次