Я думаю, что вы путаете синтаксис разных языков.
- это (значение HtmlEncoded ASCII 10 или) литерала перевода строки в HTML строка.Но символ перевода строки НЕ отображается как разрыв строки в HTML (см. Примечания внизу).
\n
- это литерал символа перевода строки (ASCII 10) в строке Javascript .
<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>
Несколько замечаний по поводу HTML:
- Значение
innerHTML
элемента TEXTAREA
не отображает HTML,Попробуйте следующее: <textarea>A <a href='x'>link</a>.</textarea>
, чтобы увидеть. - Элемент
P
отображает все непрерывные пробелы (включая новые строки) как один пробел. - Символ LF не отображается для новогострока или разрыв строки в HTML.
TEXTAREA
отображает LF как новую строку внутри поля текстовой области.