greenrun
@greenrun
начинающий программист

Как найти элементы в каждом DOM, произвести расчет и добавить итог расчета в этот же DOM?

Есть множество элементов DOM на странице типа:
<div class="stats row"><div title="На складе" class="col-mbs-6"><span class="flaticon-package-6"></span>6
        </div> <div title="К отправке" class="col-mbs-6"><span class="flaticon-trolley"></span>0
        </div> <div title="Продано" class="col-mbs-6"><span class="flaticon-shopping-cart-8"></span>4
        </div> <!----> <div title="Просмотров: 112" class="col-mbs-6"><span class="flaticon-monitor"></span>112
        </div></div>


В них отображены данные о количествах продажи и посещаемости. Нужно найти эти значения, в данном примере 4 продажи и 112 просмотров. И произвести расчет конверсии по формуле (4/112)*100 и вывести возле количества просмотров. Подскажите как найти эти два элемента (кол-во продаж и кол-во просмотров) в каждом DOM объекте и вывести результат расчета там же?
Чтобы получилось в итоге как-то так:
<div class="stats row"><div title="На складе" class="col-mbs-6"><span class="flaticon-package-6"></span>6
        </div> <div title="К отправке" class="col-mbs-6"><span class="flaticon-trolley"></span>0
        </div> <div title="Продано" class="col-mbs-6"><span class="flaticon-shopping-cart-8"></span>4
        </div> <!----> <div title="Просмотров: 112" class="col-mbs-6"><span class="flaticon-monitor"></span>112
        </div> <!----> <div title="Конверсия" class="col-mbs-6"><span class="flaticon-monitor"></span>3,5%
        </div></div>
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
XanXanXan
@XanXanXan
document.querySelectorAll('.stats').forEach(e => {
let conversion = (+e.querySelector('[title="Продано"]').textContent / +e.querySelector('[title^="Просмотров:').textContent) * 100
e.insertAdjacentHTML('beforeend', `<div title="Конверсия" class="col-mbs-6"><span class="flaticon-monitor"></span>${conversion.toFixed(1)}</div> `);
})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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