Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как отменить действие br, перенос строки? (https://javascript.ru/forum/events/80325-kak-otmenit-dejjstvie-br-perenos-stroki.html)

DDim1000 23.05.2020 07:02

Как отменить действие br, перенос строки?
 
Вложений: 1
Здравствуйте!
Получаю текст из div, где применен тег <br />, и в alert текст подает с переносом строки.
Скажите, пожалуйста, можно ли убрать этот перенос?

laimas 23.05.2020 07:44

qwerty<br />asdfgh

<script>
alert('qwerty<br />asdfgh')
</script>


В alert тег BR будет воспринят обычным текстом и никакого переноса не будет. У вас какая-то пользовательская плюшка выводящая сообщения, которая может отображать и html, поэтому вы и наблюдаете это. А чтобы отменить, нужно удалять тег BR из текста.

DDim1000 23.05.2020 07:55

А как удалить тег br?

laimas 23.05.2020 08:02

Если у вас все работает на jQery, то можно взять просто текст, при этом теги будут вырезаны (1). То есть не только BR, а все имеющиеся. Если другие теги нужно сохранить, значит берем html и рег. выражением вырезаем только нужное (2).

<html>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<p id="a">Text <b>text</b> <br/> text</p>
<p id="b"></p>
<p id="c"></p>
<script>
$('#b').html($('#a').text());
$('#c').html($('#a').html().replace(/<br.?>/g, ''));
</script>
</body>
</html>


PS. Если не JQ и все теги не нужны, то тоже самое будет

document.querySelector('#b').textContent = document.querySelector('#a').textContent;

DDim1000 23.05.2020 08:38

Цитата:

Сообщение от laimas (Сообщение 524725)
...
PS. Если не JQ и все теги не нужны, то тоже самое будет

document.querySelector('#b').textContent = document.querySelector('#a').textContent;

Нет, структура кода другая.....
Вот, можно здесь посмотреть: https://jsfiddle.net/qfet2z6j/2/

laimas 23.05.2020 08:50

Ваша структура может быть какая угодно, мне же откуда ее знать. :) Поэтому я и пишу пример, в котором ключевое, это textContent. По ссылке тоже самое, только все полученное (только текст) помещается в массив.

рони 23.05.2020 09:06

DDim1000,
textContent.trim()
https://jsfiddle.net/7xqmho9b/

DDim1000 23.05.2020 09:13

Цитата:

Сообщение от laimas (Сообщение 524729)
По ссылке тоже самое, только все полученное (только текст) помещается в массив.

Ну, если полученные данные - это массив, тогда по нему можно пройти в цикле? А как?
Вот так у меня по одной букве выводится:
for (var l = 0; l < countPeople.length; l++) {
 
            console.log("countPeople "+countPeople[l] );
          }

laimas 23.05.2020 09:22

Вот тут я не знаю чего вы хотите получить от массива, тем более countPeople, которого по ссылке не видно.

DDim1000 23.05.2020 09:44

Цитата:

Сообщение от laimas (Сообщение 524733)
...тем более countPeople, которого по ссылке не видно.

Вот новая ссылка: https://jsfiddle.net/qfet2z6j/3/


Часовой пояс GMT +3, время: 13:50.