私は次のように関数を書きました:
function makeTitleEditable($titleContainer){
var defaultValue = $titleContainer.text().replace("'","\\'");
$titleContainer.replaceWith("<input id='poll_title' name='poll[title]' value='" + defaultValue +"' type='text'>");
}
問題は、まだ一重引用符をエスケープできないことでした。たとえば、
$titleContainer.text() => I'm lucky
console.log("<input id='poll_title' name='poll[title]' value='" + defaultValue +"' type='text'>") => <input id='poll_title' name='poll[title]' value='I\'m lucky!' type='text'>
これは、「ラッキー」ではなく「I」の値でDOMを生成します。どうすればこの問題を解決できますか?