也许问题的措辞不正确,但这是我正在尝试用jQuery做的事情:
初始点:
This is<br><br> some<br> <br> <br> <br> content
Run Code Online (Sandbox Code Playgroud)
最终目标:
This is
some
content
Run Code Online (Sandbox Code Playgroud)
说明:
更具体地说,我在使用div中的内容时遇到问题,然后在编辑时变成文本区域,然后在完成编辑时返回到div.数据库必须在保存时存储<br>标签...似乎textareas使用换行符(\n)并返回(\ r \n),因此这些(<br>,\n和\ r \n)之间的转换正在变为对我来说有点问题.
有没有一种正确的方法来处理多个浏览器?或许可能更容易一直使用textarea(而忘记div)?当我尝试在div和textarea之间移动内容然后回到div时,时髦的东西开始发生间隔.
更多细节编辑:
如果用户单击编辑并将原始div转换为textarea,则他们开始进行更改并单击"完成",但决定取消编辑并恢复为旧内容.textarea转回div,旧内容(存储在隐藏的div中)取代了用户编写的内容.因此来回内容.
编辑:
很棒的反馈,谢谢大家!我不想使用whtiespace css,因为这需要在已经开发的网站上工作,并且需要在每个页面上保存内容的所有div上进行编辑.必须保存在数据库中.
这有帮助吗?
function replaceLineBreaksWithHTML(string) {
return string !== undefined ? string.replace(/\n/g, '<br/>') : "";
}
function replaceHTMLWithLineBreaks(string) {
return string !== undefined ? string.replace(/<br\/>/gi, '\n') : "";
}
Run Code Online (Sandbox Code Playgroud)