Всем привет! Есть вот такой скрипт для умножения количества товара на стоимость
const qty = document.querySelectorAll('.quantity');
for(let i=0;i<qty.length;i++){
let amount = qty[i].nextElementSibling;
let price = +parseInt(amount.textContent);
qty[i].addEventListener('input', () => amount.textContent = qty[i].value*price+'₴');
}
Он отлично работает если после input сразу идёт строка с ценой, в моем случае это span. Но стоит добавить что-то между input и span, скрипт перестает работать. В примере ниже скрипт работает только на первом и втором элементе.
<div class="">
<h5>Первый элемент</h5>
<input class="quantity" type="number" min="1" max="99" value="1" title="Количество" inputmode="numeric">
<span class="price-amount">888<span>₴</span></span>
</div>
<div class="">
<h5>Второй элемент</h5>
<input class="quantity" type="number" min="1" max="99" value="1" title="Количество" inputmode="numeric">
<span class="price-amount">888<span>₴</span></span>
</div>
<div class="">
<h5>Третий элемент</h5>
<input class="quantity" type="number" min="1" max="99" value="1" title="Количество" inputmode="numeric">
<p>Описание товара</p>
<span class="price-amount">888<span>₴</span></span>
</div>
Это происходит из-за nextElementSibling в js. Как правильно указать что нужен не следующий элемент, а например через одну строку, либо через две?