我正在阅读<td>
并将文字插入文本区域,但所有文字都出现在一行中。我想将textarea中的格式保留为从列中读取的文本。
$("#text").text($.trim($(this).closest('tr').next('tr').find('.mytext).text()));
文字应为
my test is working with spaces but not with new line. <br />This is a new line.
但它似乎无法解释<br/>
。如何让它读取<br/>
并在textarea中显示一个新行。
答案 0 :(得分:2)
您使用.text()将不会获得<br />
,因为这不是文本。
来自docs:
获取匹配集合中每个元素的组合文本内容 元素,包括它们的后代。
请注意,仅文本内容。我不知道如果文本中有“真正的”换行符(而不是html换行符)会发生什么,但这是你想看看你的问题的地方。
答案 1 :(得分:1)
用\ n字符替换br元素,我认为应该有效。
答案 2 :(得分:0)
假设您正在提取原始HTML(<br />
标记完整而不仅仅是文本),请按照JNDPNT建议,将所有<br />
标记替换为\n
文字:
var input = 'my test is working with spaces but not with new line.<br />This is a new line.'; // This is a simulation of an input string
// Create the output (replace all <br /> tags with \n):
var output_text = input.replace(new RegExp('<br />', 'g'), '\n');
$('#output').val(output_text);
这是一个显示它正常工作的jsFiddle: