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

【ITニュース解説】JavaScript DOM Manipulation: How to Create and Remove HTML Elements Dynamically

2025年09月20日に「Dev.to」が公開したITニュース「JavaScript DOM Manipulation: How to Create and Remove HTML Elements Dynamically」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

JavaScriptのDOM操作は、ウェブページを動的にする基礎技術だ。これにより、HTML要素をリアルタイムで作成・削除し、コンテンツを柔軟に操作できる。`createElement()`で要素を作成し、`appendChild()`で追加、`remove()`や`removeChild()`で削除する方法を学ぶ。インタラクティブなウェブ体験構築に必須のスキルだ。

ITニュース解説

現代のウェブ開発において、JavaScriptはウェブページを動的で対話的なものにする上で極めて重要な役割を担っている。ウェブページの構造、内容、そしてスタイルをリアルタイムで変更できるDOM(Document Object Model)操作は、JavaScriptの最も不可欠な機能の一つだ。DOMを操作することで、HTML要素を動的に作成したり削除したりできるようになり、ユーザーにとってより魅力的で使いやすいウェブサイトを構築できるようになる。システムエンジニアを目指す初心者にとって、HTML要素を動的に作成・削除する方法を理解することは、ウェブ開発の基礎となるスキルだ。このスキルを習得すれば、ユーザーの操作に応じてリストを生成したり、フォームフィールドを追加したり、コンテンツを更新したりといった、対話的なユーザー体験を作り出すことが可能になる。

まず、DOMが何であるかを理解することが重要だ。DOMは、HTMLやXMLドキュメントのためのプログラミングインターフェースとして機能する。これは、ウェブページをまるで木のような階層構造、つまりツリー構造として表現する。このツリー構造において、各「ノード」はHTMLドキュメント内の要素やテキストなどのコンテンツに対応しており、JavaScriptはDOMを通じてこれらの要素やそのコンテンツにアクセスし、変更を加える。要素を新しく作成したり削除したりする前に、操作したい既存の要素を選択する必要がある。これにはいくつかの主要なDOMメソッドが利用できる。特定のIDを持つ要素にはdocument.getElementById('要素のID')を、特定のクラス名を持つ要素にはdocument.getElementsByClassName('クラス名')を使う。CSSセレクタを用いて柔軟に要素を選択したい場合は、最初に見つかった一つだけならdocument.querySelector('CSSセレクタ')、全てならdocument.querySelectorAll('CSSセレクタ')を使用する。これらのメソッドを使いこなすことで、ページ上の特定の要素を選び出し、その後の操作の準備が整う。

JavaScriptを使えば、createElement()メソッドを用いて新しいHTML要素を動的に作成できる。要素を作成した後、その内容やクラス、その他の属性といったプロパティを変更し、最終的に既存のDOMツリーに追加する。例えば、新しいdiv要素を作成し、それをウェブページのbodyに追加する手順を考えてみよう。let newDiv = document.createElement('div');で新しいdiv要素を作り、newDiv.innerHTML = 'これは動的に作成されたdivです';で表示テキストを設定し、newDiv.classList.add('新しいクラス名');でスタイル用のクラスを割り当てる。そして、document.body.appendChild(newDiv);とすることで、新しく作成されたdiv要素をウェブページのbody要素の子要素として追加し、ページ上に表示されるようになる。また、既存のリストに新しい項目を追加する例も同様だ。もしid="taskList"というリストがある場合、まずlet taskList = document.getElementById('taskList');でリスト要素を選択する。次にlet newItem = document.createElement('li');で新しいリストアイテムを作成し、newItem.textContent = 'タスク3';でその内容を設定する。最後にtaskList.appendChild(newItem);を実行することで、既存のリストに新しい項目が追加され、リストが動的に更新される。

要素を作成できるのと同様に、JavaScriptを使って既存のHTML要素を動的に削除することもできる。基本的な方法としてremove()メソッドとremoveChild()メソッドがある。remove()メソッドは、削除したい要素自体に対して直接呼び出すことで、その要素をDOMから完全に削除する。例えば、document.getElementById('削除したい要素のID').remove();と記述すれば、その要素はページから消える。もう一つの方法はremoveChild()メソッドを使うことだ。これは親要素から特定の子要素を削除する際に用いる。例えば、特定のリストから2番目の項目を削除したい場合、まずリスト全体を選択し、次にlist.getElementsByTagName('li')[1];で削除したいリストアイテムを選択する。そして、親要素であるlistに対してlist.removeChild(itemToRemove);と呼び出すことで、選択された子要素がリストから削除される。これらの方法を使いこなすことで、ウェブページのコンテンツを柔軟に整理し、不要な要素を取り除くことが可能となる。

これらの要素の作成と削除の技術は、実際のウェブアプリケーションで多岐にわたる場面で役立つ。一つは、ユーザーが入力フィールドを動的に追加できるフォームの構築だ。「フィールドを追加」ボタンがクリックされたときに、JavaScriptがcreateElement('input')で新しい入力欄を作成し、そのtypeplaceholderを設定した後、appendChild()を使ってフォーム要素に追加する。また、動的なTo-Doリストの構築も良い例だ。ユーザーが「タスクを追加」ボタンをクリックすると、新しいリストアイテムが作成され、それがTo-Doリストに追加される。同様に、removeChild()を使えば、完了したタスクをリストから削除する機能も実装できる。これらの技術は、ユーザーの操作に応じてページのコンテンツが変化する、現代のインタラクティブなウェブ体験の基盤となっている。

JavaScriptによるDOM操作を習得することは、対話的で動的なウェブアプリケーションを開発する上で不可欠だ。ユーザーの行動に応じてHTML要素を作成したり削除したりする能力は、ウェブページのコンテンツを完全に制御できる力を与えてくれる。フォームの構築、To-Doリストの作成、あるいはその他のインタラクティブな機能の追加など、これらの技術はウェブサイトをより応答性が高く、魅力的なものにする助けとなる。要素の選択、新しい要素の作成、そして既存要素の削除というこれらの基礎を理解した今、現代的で対話的なウェブアプリケーションを構築するための第一歩を踏み出したと言える。これらの技術を継続的に試行錯誤し、経験を積むことで、より複雑なDOM関連のタスクにも自信を持って取り組めるようになるだろう。

関連コンテンツ