Есть <span>Текст1\nТекст2</span>
Нужно на JavaScript заменить \n на перенос строки, чтобы в браузере вывелось:
Текст1
Текст2
Я так понял тут не просто <br> replace-ом вставить нужно, а ещё что-то по тегам.
Предложите самый простой путь.
Чтобы переданная внутрь элемента строка распарсилась как html, используйте innerHTML сеттер:
let elem=document.querySelector('span')
elem.innerHTML=elem.innerHTML.replace(/\\n/g,'<br>')
<span>Луна\nсъела\nпеченьку</span>
Или если у вас реальные переносы строк, а не в виде текста:
let elem=document.querySelector('span')
elem.innerHTML=elem.innerHTML.replace(/\n/g,'<br>')
<span>Луна
съела
печеньку</span>
Или без <br>ов:
let elem=document.querySelector('span')
elem.innerHTML=elem.innerHTML.replace(/\\n/g,'\n')
span{
white-space: pre-wrap;
}
<span>Луна\nсъела\nпеченьку</span>
var foo = document.querySelectorAll("span");
for (var i = 0; i < foo.length; i++) {
if (foo[i].textContent.indexOf("\n")) {
foo[i].innerHTML = foo[i].innerHTML.replace(/\\n/g, "<br>");
}
}
<span>some text \n some text</span>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей