12Vadim12
@12Vadim12

Как получить числа из нескольких div?

<div class="watch__price">Зарплата: от 1000 €</div>
 <div class="watch__price">Зарплата: от 1500 €</div>
<div class="watch__price">Зарплата: от 1000 €</div>

Для одного элемента:

const priceGet = parseInt(document.querySelector('.watch__name').textContent.match(/d+/));

Для нескольких не совсем корректно работает:

const priceGet = document.querySelectorAll('.watch__price').forEach(item=>{
    (parseInt(item.textContent.match(/\d+/)));
  })
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
XanXanXan
@XanXanXan
Array.from(document.querySelectorAll('.watch__price'), item => parseInt(item.textContent.match(/\d+/)));
Ответ написан
Комментировать
@dcooder
Во-первых querySelectorAll возвращает не массив, а NodeList. Во-вторых вы пытаетесь присвоить результат вызова forEach, а этот метод не возвращает ничего. Вот пример рабочего варианта:
const prices = Array.from(document.querySelectorAll('.watch__price'))
.map((item) => parseInt(item.textContent.match(/\d+/)))

в prices по итогу будет массив [1000, 1500, 1000]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы