@anriko

Как сократить код поиска элемента и переписывания его значения?

Вот пример, можно ли сделать короче через end или что-то еще, чтоб мог один раз найти элемент, получить значение и повторно не ища его переписать его значение:

var val =  $(this).parent(".product-count").find("input").val();
$(this).parent(".product-count").find("input").val(val-1);

Можно что-то типа этого?

$(this).parent(".product-count").find("input").val().end().val()-1;
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Метод val умеет принимать в качестве параметра не только значение, но и функцию, которая принимает текущее значение и должна вернуть новое:

$(this).parent().find('input').val((i, v) => v - 1);

А можно и отказаться от jquery. Так ещё короче получится (конечно, если все нужные элементы гарантированно есть, т.е., не надо проверять их наличие):

this.parentNode.querySelector('input').value--;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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