【问题标题】:How to preserve line breaks in a content editable div when using .text() - Jquery使用.text()时如何在内容可编辑的div中保留换行符 - Jquery
【发布时间】:2013-04-13 08:22:34
【问题描述】:

我有一个具有“contenteditable=true”的 div。当我在其中输入文本并按下回车键时,光标通过在上一行附加<br> 转到下一行。

当我使用提交按钮时,我使用.text() 来获取 div 的内容。这会去除 div 中的任何 html 标签,从而删除所有 <br> 标签。所以没有换行符。

我想知道,如何在提交表单时保留换行符。感谢您的帮助...

【问题讨论】:

  • 为什么不使用textarea.val()?它保留了空白。
  • 我无法使用 textarea,因为其他一些功能仅适用于内容可编辑元素而不适用于 textareas。 @ahren

标签: jquery newline


【解决方案1】:

不要为此使用 Jquery,.text() 函数会删除空格。为此使用纯 Javascript:

$(selector)[0].innerText = 'foo';

【讨论】:

    【解决方案2】:

    您可以使用.html(),而不是使用.text()。这不会剥离标签。您的下一个问题将是尝试消除/转换标签..

    您可以在此处查看有关.html() 的更多信息:http://api.jquery.com/html

    【讨论】:

      【解决方案3】:

      innerText、outerText 属性不适用于 jQuery。 使用原生 JS 风格。

      window.document.getElementById("ced").innerText;

      【讨论】:

      • innerText 不能直接作用于 $(selector).innerText 等 jQuery 选择器的结果,您必须从结果中选择单个项目:$(selector)[0].innerText
      猜你喜欢
      • 1970-01-01
      • 2013-10-03
      • 2016-02-14
      • 2022-11-19
      • 1970-01-01
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多