【JS応用|初心者向け】Webサイトに動的な変化を!Element.innerHTMLの基礎と安全な使い方

1. 導入:innerHTMLでWebページを自由に書き換えよう

Webサイトを制作していると、「ボタンを押したときにメッセージを表示させたい」「フォームの入力内容を画面に反映させたい」といった、ページの一部を動的に書き換える操作が必要になります。そんなときに最も手軽で強力なツールが「Element.innerHTML」です。これを使うことで、JavaScriptからHTMLタグを含んだ内容を直接ページに流し込むことができ、リッチなユーザー体験を作ることが可能になります。

2. 基礎知識:innerHTMLとは?

innerHTMLは、HTML要素の中身(タグを含む文字列)を取得したり、書き換えたりするためのプロパティです。例えば、

タグの中にあるテキストや、その中にあるタグなどを丸ごと取得したり、新しいHTML構造に差し替えたりすることができます。「ブラウザが解析できるHTML文字列」をJavaScriptで操作する窓口だと考えてください。

3. 実装/解決策:innerHTMLを操作する手順

操作は非常にシンプルです。まず、document.getElementByIdなどで対象の要素を取得し、その要素に対して「.innerHTML = ‘書き換えたい内容’」と記述するだけです。これだけで、ブラウザ上の表示が瞬時に切り替わります。

4. サンプルプログラム

以下のコードをHTMLファイルとして保存し、ブラウザで開いて動作を確認してみてください。ボタンをクリックすると、見出しとリストが動的に生成されます。



ここが書き換わります



5. 応用・注意点:セキュリティへの配慮

innerHTMLは非常に便利ですが、一つだけ重大な注意点があります。それは「セキュリティリスク」です。もし、ユーザーが入力した内容をそのままinnerHTMLに代入してしまうと、「クロスサイトスクリプティング(XSS)」という攻撃を受け、悪意のあるプログラムを実行されてしまう危険性があります。

安全に使うためのポイント:
1. 信頼できる文字列だけを代入する:自分で作成したHTML構造のみに使用しましょう。
2. テキストだけならtextContentを使う:もしタグを含めず、純粋な「文字」だけを表示したい場合は、innerHTMLではなく「textContent」プロパティを使いましょう。これならHTMLタグとして解釈されないため、安全に文字列を表示できます。

まずは簡単なテキストの書き換えから練習して、動的なWebサイト作りの第一歩を踏み出しましょう!

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