在文本区域的新行
<textarea cols='60' rows='8'>This is my statement one.\n This is my statement2</textarea> <textarea cols='60' rows='8'>This is my statement one.<br/> This is my statement2</textarea>
我试了两个,但新的一行是不反映,同时呈现的HTML文件。 我怎样才能做到这一点?
试试这个:
<textarea cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
换行和
回车是HTML实体维基百科 。 这样你实际上是parsing新行(“\ n”),而不是将其显示为文本。
<textarea cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
小提琴显示它的工作原理: http : //jsfiddle.net/trott/5vu28/ 。
如果您确实希望将其放在源文件的单行中,则可以插入行换行符和回车符的HTML字符引用,如@Bakudan答案中所示:
<textarea cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
我发现String.fromCharCode(13, 10)
在使用视图引擎时很有帮助。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
这将创build一个string,其中包含实际的换行符,因此强制视图引擎输出换行符而不是转义版本。 例如:使用NodeJS EJS视图引擎 – 这是一个简单的例子,任何\ n应该被replace:
viewHelper.js
exports.replaceNewline = function(input) { var newline = String.fromCharCode(13, 10); return input.replaceAll('\\n', newline); }
EJS
<textarea><%- viewHelper.replaceNewline("Blah\nblah\nblah") %></textarea>
呈现
<textarea>Blah blah blah</textarea>
全部replace:
String.prototype.replaceAll = function (find, replace) { var result = this; do { var split = result.split(find); result = split.join(replace); } while (split.length > 1); return result; };
为了在textarea里面得到一个新的行,把一个实际的linebreak放在那里:
<textarea cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
试试这个..它的工作原理:
<textarea id="test" cols='60' rows='8'>This is my statement one. This is my statement2</textarea>
取代
标签:
$("textarea#test").val(replace($("textarea#test").val(), "<br>", " ")));
您可能想使用\n
而不是/n
。
我认为你混淆了不同语言的语法。
-
是(ASCII 10的HtmlEncoded值)或HTMLstring中的换行符字符。 它不会在HTML中呈现为换行符(请参阅底部的注释)。 -
\n
是Javascriptstring中的换行字符文字(ASCII 10)。 -
<br/>
在HTML中是一个换行符。 许多其他的元素,例如<p>
,<div>
等也会呈现换行符,除非被某些样式覆盖。
希望下面的例子能更清楚地说明一下:
T.innerText = "Position of LF: " + t.value.indexOf("\n"); p1.innerHTML = t.value; p2.innerHTML = t.value.replace("\n", "<br/>"); p3.innerText = t.value.replace("\n", "<br/>");
<textarea id="t">Line 1 Line 2</textarea> <p id='T'></p> <p id='p1'></p> <p id='p2'></p> <p id='p3'></p>
经过大量testing,以下代码在Typescreipt中适用于我
export function ReplaceNewline(input: string) { var newline = String.fromCharCode(13, 10); return ReplaceAll(input, "<br>", newline.toString()); } export function ReplaceAll(str, find, replace) { return str.replace(new RegExp(find, 'g'), replace); }