Как взять значения внутри элемента div, удалить <br>и превратить значения в массив с помощью JavaScript, без Jquery, пожалуйста - PullRequest
0 голосов
/ 17 апреля 2020

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

<div>
    "some text"
    <br>
    "some text2"
    <br>
    <br>
    "some text3"
    <br>
    "some text4"
</div>

Моя проблема в том, что я не могу получить доступ к этому элементу div, выполнив doucument.querySelector (". myDiv "); потому что я делаю эту операцию в другой программе, и я получаю только вывод:

некоторый текст

некоторый текст2

sometext3

sometext4

я пытаюсь преобразовать этот вывод в массив, но разделение не работает и не заменяет (// регулярное выражение разрыва строки, ",")

ожидаемый результат:

["some text", "some text2", "some text3", "some text4"];

спасибо!

Ответы [ 2 ]

1 голос
/ 17 апреля 2020

Вот вам go, попробуйте этот пример:

const divText = document.querySelector('.someDiv').innerText;
const requiredArray = divText.split('\n');
console.log(requiredArray);
<div class="someDiv">
some text
<br>
other text
</div>
0 голосов
/ 17 апреля 2020

Поскольку в div есть два типа текста, вам нужно очистить лишние вещи.

const div = document.querySelector('div');
const arr = div.innerText.split("\n");

// Removes the extra quote (") from the strings and drop any empty string from the array by using filter().
const result = arr.map(item => item.replace(/\"/g, '')).filter(item => item !== '');

console.log(result);
.as-console-wrapper {min-height: 100% !important; top: 0;}
<div>
    "some text"
    <br>
    "some text2"
    <br>
    <br>
    some text3
    <br>
    "some text4"
</div>
...