| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

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

提供: MyMemoWiki
2020年2月16日 (日) 04:27時点におけるPiroto (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

シングルクォートのエスケープ

innerHTML を利用して動的にinput タグを生成する場合等、以下のように(value=)しシングルクォートを利用するが、

xx.innerHTML = "<input type='text' value='" + val + "'/>";

この場合、valにシングルクォートが含まれる場合、正しく動作しない。 ダブルクォートを使用(value=\"\")し、" に置き換えることで、シングルクォート、ダブルクォートともに正しく扱うことができる(本来は、引用符以外のHTML特殊文字も置き換えるべき)

xx.innerHTML = "<input type='text' value=\"" + val.replace(/"/i, """)+ "\"/>";

テンプレート:Ref quote escape.lzh


{{include_html banner_html, "!Javascript"}}