将 div HTML 复制到 textarea 但保留换行符 [重复]
Posted
技术标签:
【中文标题】将 div HTML 复制到 textarea 但保留换行符 [重复]【英文标题】:Copy div HTML to textarea but keep line breaks [duplicate] 【发布时间】:2013-04-02 09:59:50 【问题描述】:我正在开发一个问卷应用程序,其中一项功能是用户可以单击问题并对其进行编辑。我遇到的问题是将 <br />
标记转换为我的 textarea 可以理解的换行符。
保存代码如下:
$('#questions').append("<div>"+$('textarea[name="question"]').val().replace(/\n/g, '<br />')+"</div");
这很完美!将其转换回来的代码如下所示:
$('textarea[name="question"]').val($('#questions').eq(1).html().replace(/<br\s*\/?>/mg,"\n"));
但由于某种原因,textarea 将不接受新行,而是将所有文本捆绑在一起。
如何将<br />
转换回我的 textarea 可以理解的新换行符?
【问题讨论】:
也许that answer 有帮助 嗯... '\n' 对我有用:jsfiddle.net/FpUFk 尝试 \r\n 而不是 \n ? 【参考方案1】:试试
$('textarea[name="question"]').val($('#questions').eq(1).html().replace(/\s*<br\s*\/?>\s*/g,"\n"));
演示:Fiddle
【讨论】:
这正是我想要的!非常感谢!【参考方案2】:您需要将 <br>'s
转换为 HTML 编码的换行符。
&#10;
换行和&#13;
回车。这样,您实际上是在解析新行 ("\n"),而不是将其显示为文本。
New line in text area
【讨论】:
以上是关于将 div HTML 复制到 textarea 但保留换行符 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
JQuery 将 textarea 值复制到 div 中进行打印