dom_dom0800_005

innerHTMLとcreateElementの使い分けとして正しいのはどれですか?

  1. セキュリティを重視する場合はinnerHTMLを使う
  2. 簡単にHTMLを挿入したい場合はcreateElementを使う
  3. 安全に要素を生成したい場合はcreateElementを使う
  4. createElementは非推奨である
正解
  1. 安全に要素を生成したい場合はcreateElementを使う
解説

createElementはJavaScriptで安全にDOM要素を生成でき、XSSのリスクを避けられます。innerHTMLは便利ですが、入力値をそのまま挿入する場合は危険です。

使用例(サンプルコード)

[ javascript ]

const div = document.createElement("div");
div.textContent = "安全なテキスト";
document.body.appendChild(div);