Есть ли способ, как я могу удалить \ n из внутреннего HTML внутри div? - PullRequest
0 голосов
/ 12 июня 2019

Я хочу удалить \n внутри элемента div, но, похоже, ничего не работает.

Я пытался использовать методы html(String) и text(String), но \n остается

<div class="line number1 index1 alt1">
 \n
 1
 \n
</div>
<div class="line number2 index2 alt2">
\n
 2
 \n
</div>
<div class="line number3 index3 alt1">
 \n
 3
 \n
</div>

Есть ли способ, которым это можно сделать?

Спасибо

Ответы [ 3 ]

0 голосов
/ 12 июня 2019

Просто добавьте этот скрипт в ваш HTML-файл.Он будет брать текст из каждого элемента с class="line", подсчитывать, сколько \n происходит в нем и после его удаления.

Сценарий:

String.prototype.count = function(s1) { 

    return (this.length - this.replace(new RegExp(s1,"g"), '').length) / s1.length;
}


$('.line').each(function(){

    let happens, i; 
    happens = $(this).text().count('\\n');

    for (i = 0; i < happens; i++) {
        $(this).text($(this).text().replace('\\n',''));
    }
});  
0 голосов
/ 12 июня 2019

Существует библиотека с открытым исходным кодом MgntUtils (написанная мной), которая имеет TextUtils.formatStringToPreserveIndentationForHtml одну из своих функций - она ​​заменяет все '\n' на '<br>'. Это может быть полезно для вас.Вот ссылка на javadoc метода: formatStringToPreserveIndentationForHtml .Библиотека может быть взята как артефакт Maven или из Github (включая исходный код и Javadoc).Вот ссылка на статью о библиотеке: Java-библиотека с открытым исходным кодом MgntUtils

0 голосов
/ 12 июня 2019

Вы можете использовать String.replaceAll() метод для этого с помощью простого регулярного выражения?

htmlString = htmlString.replaceAll("\\n","");

...