トップ 一覧 ping 検索 ヘルプ RSS ログイン

JavaScript シングルクォートのエスケープの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!シングルクォートのエスケープ
innerHTML を利用して動的にinput タグを生成する場合等、以下のように(value='')しシングルクォートを利用するが、
 xx.innerHTML = "<input type='text' value='" + val + "'/>";
この場合、valにシングルクォートが含まれる場合、正しく動作しない。
ダブルクォートを使用(value=\"\")し、&quot; に置き換えることで、シングルクォート、ダブルクォートともに正しく扱うことができる(本来は、引用符以外のHTML特殊文字も置き換えるべき)
 xx.innerHTML = "<input type='text' value=\"" + val.replace(/"/i, "&quot;")+ "\"/>";

{{ref quote_escape.lzh}}

----
{{include_html banner_html, "!Javascript"}}