Сообщение от 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>