2013-12-09 12 views
5

文字列を追加するときに、JavaScriptでテキストエリアの値に設定すると、改行をうまく変換するようです。しかし、この文字列をデータ属性から取得すると、改行は\ nとして残ります。jQuery textareaの値が改行を変換しない

これらはどちらも文字列の型を持ちます。

データ属性を取得して改行をテキストエリアで使用するにはどうすればよいですか?あなたがHTMLのプロパティ内の改行のためのHTML文字エンティティを使用する必要が

<div id="test" data-message="this\ntest"></div> 
<textarea id="textarea"></textarea> 
<textarea id="textarea2"></textarea> 
var html = 'this\ntest'; 
var div = $('#test').data('message'); 

$('#textarea').val(html); 
$('#textarea2').val(div); 

JSFiddle Example

+0

は 'html'間の長さの差分を参照してください、属性から' \ 'を読んで値が' '\\使ってエスケープされたときのように見えます「div」http://jsfiddle.net/arunpjohny/7q8RG/1/ –

答えて

7

&#13;

<div id="test" data-message="this&#13;test"></div> 

Updated fiddle

+0

私の愚かなこと。ありがとうございました! – digitalclubb

+0

問題ないです。喜んで助けてください。 –

3

あなたからそれを得ますデータ属性\nあなたはそれを交換する必要があるので、エスケープされつつある。

$('#textarea2').val(div.replace("\\n","\n")); 

Example

+0

グローバル置換: 'div.replace(/ \\ n/g、" \ n ")' – Pete

関連する問題