2013-12-09 13 views
5

Khi thêm chuỗi, hãy đặt trong JavaScript, thành giá trị văn bản, có vẻ như chuyển đổi ngắt dòng. Tuy nhiên, khi lấy chuỗi này từ thuộc tính dữ liệu, dường như để lại ngắt dòng là \ nGiá trị văn bản jQuery không chuyển đổi ngắt dòng

Cả hai loại này đều có loại chuỗi nên tôi nhầm lẫn cách thức hoạt động chứ không phải cách khác.

Làm cách nào để lấy thuộc tính dữ liệu và làm cho ngắt dòng hoạt động với vùng văn bản?

<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

trông giống như khi giá trị đọc từ thuộc tính '\ 'là trốn thoát sử dụng' \\ ', thấy diff dài giữa' html' và 'div' http://jsfiddle.net/arunpjohny/7q8RG/1/ –

Trả lời

7

Bạn cần phải sử dụng các thực thể vật HTML cho ngắt dòng trong một tài sản HTML: &#13;

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

Updated fiddle

+0

Làm thế nào ngớ ngẩn của tôi. Cảm ơn bạn! – digitalclubb

+0

Không sao, vui lòng giúp đỡ. –

3

Khi bạn nhận được nó từ thuộc tính dữ liệu \n đang trở nên trốn thoát, do đó bạn cần phải thay thế nó:

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

Example

+0

thay thế toàn cầu: 'div.replace (/ \\ n/g," \ n ")' – Pete

Các vấn đề liên quan