jQueryで<textarea>に値をセットするときに、改行やスペースが消えてしまうのですが… これを消さずにそのままセットするにはどうしたらいいでしょうか?
jQueryで<textarea>に値をセットするときに、改行やスペースが消えてしまうのですが… これを消さずにそのままセットするにはどうしたらいいでしょうか? https://jsfiddle.net/5ku086zs/ -- ただしvar jsonに「\n」や「\t」などを入れたくはありません。 var jsonはこのままで、 $('textarea').val( JSON.stringify(json) ); を変えるとか、 HTMLやCSSを変えるなどで対処したいと考えています。
JavaScript | HTML、CSS・94閲覧・50
ベストアンサー
ちょっと質問の意図がわかりません。 json が改行を含んでいた場合、JSON.stringify(json) では "\n" に置換されますよね(strinbgify後の文字列自体が二重引用符で括られるので、単に \n という表記ですが・・・)。 そのまま(jsonを)セットすれば、改行のままセットされると思いますが・・・ (例) <textarea id="text1"></textarea> <textarea id="text2"></textarea> <script> // 改行を含むのでテンプレートリテラルで定義 const json = `name: abc xyz`; const text1 = document.querySelector('#text1'); const text2 = document.querySelector('#text2'); text1.value = json; text2.value = JSON.stringify(json); </script>
ありがとうございます。たしかに、そちらをJSFiddleで実行すると改行がきちんと入りますね。質問のJSFiddleではなぜなくなってしまうのでしょうか…
質問者からのお礼コメント
テンプレートリテラルでなんとかなりました。ありがとうございました。
お礼日時:1/25 16:06