【问题标题】:Newline does not work on textarea replace换行符不适用于 textarea 替换
【发布时间】:2014-06-05 18:03:43
【问题描述】:

我正在尝试用另一个文本替换文本区域中的一个单词,但我似乎无法让换行符起作用。

<input type="text" id="testing" value="Newline \n test" /><br />
<textarea>test</textarea><br />
<button>Test</button>

$("button").on("click", function() {
    $("textarea").text($("textarea").text().replace(/test/g, $("#testing").val()));
});

按下按钮。它不会用新行替换 \n。我试过&lt;br /&gt;&lt;br&gt;(不正确的HTML)、%0A&amp;#13;&amp;#10;,但还是不行。

Fiddle

【问题讨论】:

  • 不相关的旁注,&lt;br&gt; 不是不正确的 HTML。这是不正确的 XHTML,但可以与 HTML5 一起使用。

标签: javascript jquery replace newline


【解决方案1】:

你需要用实际的\n换行符替换字符串'\n'(2个字符'\','n')。

这应该可以满足您的需求。

var textBoxline = $("#testing").val().replace(/\\n/g, '\n');                                
$("textarea").text($("textarea").text().replace(/test/g, textBoxline));

您仍然需要在 \n 本身周围留出前导/尾随空格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 2017-06-14
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多