Вот мой дубль.
Для разрыва строки я бы добавил <br>
к своему тексту.
Позиция, которую я бы добавил <br>
, будет первым пробелом после n / 2.Таким образом, вторая строка всегда будет короче первой.
Ниже приведен грубый пример, который, возможно, потребуется уточнить далее.
var textElement = $('p');
textElement.each(function(){
var text = $(this).text();
var length = text.length;
for(var i =(Math.ceil(length/2)); i<length; i++){
if(text[i]===' '){
var text2 = text.slice(0, i) + "<br>" + text.slice(i);
$(this).html(text2);
break;
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ac lectus ac
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ac lectus ac elit vestibulum ultricies eget sit amet lacus. Lorem ipsum dolor sit amet.
</p>