Показать сообщение отдельно
  #2 (permalink)  
Старый 02.05.2020, 05:53
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от ethereal
Подскажите, есть ли возможность на JS завернуть каждую строку текста в span?
Конечно есть!

<div>
  Lorem Ipsum is simply 
  dummy text of the printing 
  and typesetting industry.
</div>

<style>
span {
	display: inline-block;
	background: deeppink;
	margin: 1em;
	padding: 1em;
}
</style>

<script>
var node = document.querySelector("div");
node.normalize();
var textNode = node.firstChild;

if(textNode.nodeType === Node.TEXT_NODE) 
	node.append(...textNode.textContent.trim().split(/\r?\n/).map(text => {
		const span = document.createElement("span");
		span.textContent = text;
		return span;
	}));

textNode.remove();
</script>


Или так... но тут может возникнуть проблема из-за того, что внутри может быть элемент, внутри которого может быть перевод строки.
<div>
  Lorem Ipsum is simply 
  dummy text of the printing 
  and typesetting industry.
</div>

<style>
span {
	display: inline-block;
	background: deeppink;
	margin: 1em;
	padding: 1em;
}
</style>

<script>
var node = document.querySelector("div");
node.innerHTML = node.innerHTML.trim().split(/\r?\n/).map(v=>`<span>${v}</span>`).join("");
</script>
Ответить с цитированием