Уже 2 часа ночи, а завтра 1 сентября, надо в инст идти=)
Помогите правильно организовать работу функции, у меня чувство что здесь всё на костылях.
Функция должна при нажатии на стрелочку, увеличивать и цену, которая указана у товара.
Вот html:
<div class="oneItem" id="product_1">
<div class="imageItem"></div>
<div class="infoItem">
<p>Цена: <span class="priceItem">44.34</span>руб.</p>
<span>
Кол-во:
<span class="rateItem" id="rateDown" onclick="rateDown();">◄</span>
<input type="text" id="rateInput" value="1" />
<span class="rateItem" id="rateUp" onclick="rateUp();">►</span>
</span>
<input type="submit" id="submiItem" value="Добавить в корзину" />
</div>
</div>
Вот, как то так. Вот так я разруливаю вопрос с DOM:
function rateUp(){
var input = document.getElementById('rateInput');
var price = document.getElementById('product_1');
var price = price.lastElementChild.firstElementChild.firstElementChild;
input.value++;
price.innerHTML = priceStart.innerHTML * input.value;
}
Два вопроса, как убрать костыль с путешествием через всё дерево, пока в голову лезет мысль, добавить не ИД, а класс, ко всем элементам, для простоты поиска
И второй вопрос, как мне отловить стартовую цену?
Сейчас функция работает некоректно, и увеличивается в геометричесской прогрессии.
Мне нужно как то сохранить цену в переменную, и оставить её там, в голову лезет только проверка, 1 товар в корзине или нет, если 1, то записать его значение в переменную, если не один, то оставить как было.
Очень важно Ваше мнение!