Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】How a Birthday Cake Accidentally Taught Me DOM 🎂

2025年09月11日に「Dev.to」が公開したITニュース「How a Birthday Cake Accidentally Taught Me DOM 🎂」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

DOMとは、JavaScriptでWebページの一部を変更する技術だ。具体的には、要素を選び、テキストやスタイルを変えたり、要素を追加・削除したり、動作に応じた処理を設定できる。これを適切に行わないと、Webページは管理が難しくなる。

ITニュース解説

ウェブサイトを閲覧しているとき、ボタンをクリックすると内容が変わったり、画像がスライドしたり、フォームに入力するとリアルタイムでエラーメッセージが表示されたりといった、様々な「動き」を目にするだろう。このような動的なウェブページの動きを制御するために不可欠な技術の一つが、DOM(Document Object Model)だ。システムエンジニアを目指す皆さんにとって、このDOMを理解することは、ウェブ開発の基礎を固める上で非常に重要である。

DOMとは何か、具体的に見ていこう。DOMは「Document Object Model」の略で、ウェブブラウザがHTMLやXMLドキュメントを、プログラムからアクセスして変更できる「オブジェクト」の集合として表現する仕組みを指す。つまり、ウェブページに表示されている一つ一つの要素(段落、画像、ボタン、入力欄など)を、JavaScriptのようなプログラミング言語から「操作できる部品」として扱えるようにするインターフェースなのだ。HTMLがウェブページの骨格を定義し、CSSが見た目を整えるのに対し、JavaScriptはDOMを通じてこれらの要素に働きかけ、動的な挙動を実現する役割を担う。

ある人が友人の誕生日ケーキを注文する際に、お店の人に細かな指示を何度も出し、そのたびにケーキの見た目が変わっていく様子を想像してみると、DOMの働きが少し理解しやすくなるかもしれない。「ハッピーバースデー」のメッセージを書いてもらう、ろうそくを均等に配置してもらう、カラースプレーが落ちないように位置を調整してもらう、といった一連の修正作業は、まさにウェブページ上の要素を一つ一つ選んで、内容やスタイルを変更するDOM操作とよく似ている。予期せぬアクシデント(誰かのくしゃみでカラースプレーがずれるなど)に対応して再調整を求められるのも、ウェブページにおけるユーザーの操作や外部からのデータに反応してページを更新するのと同様の状況だ。

DOMを使ったウェブページの操作は、主に以下の5つのステップで構成される。

まず、「要素の選択」が最初のステップだ。これは、ウェブページ上のどの部分を変更したいのかを特定する作業である。HTML文書内の特定の段落、特定のボタン、あるいは特定の画像など、操作の対象となる要素をJavaScriptで正確に「指し示す」必要がある。例えば、特定のクラス名を持つすべてのろうそく要素や、特定のIDを持つメッセージのテキスト要素を選択するといった具合だ。これは、お店の人に「あのろうそくを動かしてください」とか、「このメッセージの文字を直してください」と具体的に伝えることに相当する。document.querySelectordocument.querySelectorAllといったJavaScriptの命令を使って、CSSセレクタ(HTML要素を特定するための記述ルール)の知識を応用しながら、目的の要素を探し出す。

次に、「内容の変更」を行う。要素を選択できたら、その要素が持っているテキストやHTMLコンテンツを新しいものに書き換えることができる。例えば、ウェブサイト上の「お知らせ」のテキストを更新したり、商品の説明文を修正したりする場合にこの操作を用いる。ケーキの例で言えば、お店の人に「メッセージを『ハッピーバースデー!』に書き換えてください」と依頼するのと同じだ。JavaScriptでは、選択した要素のinnerTextプロパティやinnerHTMLプロパティを書き換えることで、表示されるテキストやHTML構造自体を変更できる。

三番目のステップは、「スタイルの変更」だ。これは、選択した要素の見た目、つまりCSSプロパティをJavaScriptで変更することによって、色、フォントサイズ、配置、表示・非表示などを調整する作業である。例えば、ボタンの色を一時的に変えたり、特定のテキストを太字にしたり、要素を画面の別の場所に移動させたりといったことが可能になる。ケーキのろうそくの位置を調整したり、カラースプレーの色を変えたりする指示に例えられる。JavaScriptでは、選択した要素のstyleプロパティを通じて、直接CSSプロパティを操作することができる。

四番目のステップは、「要素の追加と削除」である。これは、ウェブページに新しい要素を動的に作り出して追加したり、不要になった既存の要素をウェブページから削除したりする操作だ。例えば、ユーザーが「さらに表示」ボタンをクリックしたときに、新しいコンテンツ(追加の商品情報など)をページに追加したり、特定の条件を満たさなくなった要素を画面から消したりする際に利用する。ケーキの例で言えば、お店の人が「チョコレートの飾り」を新たに追加したり、間違って立ててしまったろうそくを一本抜いたりする操作に相当する。JavaScriptのdocument.createElementで新しい要素を作成し、appendChildで既存の要素の子要素として追加したり、removeメソッドで要素自体を削除したりする。

そして最後のステップが、「イベントの付与」だ。これは、特定の要素に対して、ユーザーのクリックやマウスオーバー、キーボード入力などの「イベント」(出来事)が発生したときに、あらかじめ定義しておいたJavaScriptの処理を実行させる仕組みである。これにより、ウェブページはユーザーの操作にインタラクティブに反応するようになる。例えば、ボタンがクリックされたら特定のメッセージが表示されるように設定したり、フォームの入力欄で文字が入力されたらリアルタイムで入力チェックを行う、といったことが可能になる。ケーキの例では、ろうそくが「吹き消される」というイベントが発生したら、そのろうそくが消える(表示されなくなる)ようにする、といった挙動に例えられる。addEventListenerというメソッドを使って、どのようなイベントに、どのような処理を実行させるかを定義する。

これらのDOM操作を組み合わせることで、私たちは静的なHTML文書を、ユーザーの操作やプログラムのロジックに基づいて動的に変化する、魅力的なウェブアプリケーションへと変えることができる。しかし、この柔軟性には、多くの調整が必要となるという側面もある。まるでケーキの調整をマイクロマネジメントするように、ウェブページの要素一つ一つに対して細かく指示を出し、それらが適切に連携するように注意深く管理しなければ、意図しない挙動や表示の乱れが生じる可能性がある。

システムエンジニアとして、ウェブページを「プログラムから操作できるオブジェクトの集合」として捉え、その構造や関係性を理解し、JavaScriptを用いて適切にDOMを操作する能力は非常に重要だ。ウェブサイトのユーザーインターフェースを開発する上で、DOMの理解は避けて通れない道のりであり、その基礎をしっかりと学ぶことが、将来のキャリアにおいて大きな強みとなるだろう。ウェブページを完璧に仕上げるためには、時に根気と試行錯誤が必要になるが、その努力がユーザーに素晴らしい体験を提供するウェブアプリケーションへと結びつくのだ。

関連コンテンツ

【ITニュース解説】How a Birthday Cake Accidentally Taught Me DOM 🎂 | いっしー@Webエンジニア