将 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 将不接受新行,而是将所有文本捆绑在一起。

如何将&lt;br /&gt; 转换回我的 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】:

您需要将 &lt;br&gt;'s 转换为 HTML 编码的换行符。

&amp;#10; 换行和&amp;#13; 回车。这样,您实际上是在解析新行 ("\n"),而不是将其显示为文本。

New line in text area

【讨论】:

以上是关于将 div HTML 复制到 textarea 但保留换行符 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

textarea 实现高度自动增长

将textarea的文本复制到带有换行符的div中

JQuery 将 textarea 值复制到 div 中进行打印

将 REACT 组件渲染为 HTML 字符串以复制或添加到 textarea

如何将 div 或图像插入 textarea? [复制]

从 textarea 复制到 div,保留换行符