Это происходит потому, что новые строки преобразуются в пробелы в HTML. Например:
<p>
This is a sentence. Sometimes sentences get too big to
fit inside a single line, so we break the line in two.
</p>
В приведенном выше примере текстовый узел внутри элемента <p>
имеет новую строку, но визуализированный вывод там не прерывается.
Разрывы строк в HTML выполняются с помощью элемента <br>
.
<p>
This sentence is in the first line.<br>
This one is in the second.
</p>
Вы можете использовать document.createElement("br")
и добавить элемент между двумя текстовыми узлами, чтобы создать две строки, но есть более простой способ, innerText
.
const elem = document.getElementById("demo");
elem.innerText = "First line\nSecond line"
<p id="demo"></p>