[js]memo: jqueryでval()したものエスケープしてhtml()する
jsでエスケープ。どっかで拾ってきました。忘れた。
なんか「これぐらい覚えてるだろJK」的な必須パターンの匂いがします。
「id="text1"のtextareaのデータをid="contents"なdivに書き出したいが
普通にやったらjavascriptが回った。だめじゃーん。」を解決します。
まず、普通にescapeしたら当たり前ですけど書き出した文字列はescapeされてます。
これじゃ駄目だ。こまる。
方法は「text作ってtext.dataにval()を突っ込んで
div作ってtext突っ込んでdivのinnerHTMLとして読み出した文字列を
改行を\
に置き換えてjqueryで書き込み。」
です。
これだとjavascriptが回りません。
var text = document.createTextNode(''); text.data = ($("#text1").val()) ; //dataにval()を var div = document.createElement('div'); div.appendChild(text); //今回は必要だったのでreplaceもする。 var strhtml = div.innerHTML.replace(/\n/g,"<br/>"); //書き出し $("#contents").html(strhtml);
なんか不安がのこりますなぁ。