Нуфер Евгений
Нуфер Евгений

Почему не работает код jQuery?

Function calculate(){
let price = 0
$('.btn').on('click', function(){
let plus = $(this).attr('data-price').val()
plus = parseInt(plus)
price += plus
})
console.log(price)
}

//есть кнопки с классом .btn у которых атрибуты data-price
//нужно брать значение атрибута и прибавлять к переменной price
//ошибок в консоли нет

БС
Бехзод Салибаев

Во-первых, ты ставил ; после строки действия? Во-вторых, я не знаю точно, как работает JQuerry, но разве возможно вернуть элемент, который даже не ссылается к document/window?

Фаррахов
Фаррахов

var price = 0;
function calculate(plus)
{
plus = parseInt(plus);
price += plus;
console.log(price);
}

$(document).ready(function()
{
$('.btn').on('click', function()
{
console.log($(this));
var plus = $(this).attr('data-price');
calculate(plus);
});
});

Вот рабочий пример:

https://jsfiddle.net/e2j5omc8/

Елена
Елена

function calculate() {
let price = 0;
$('.btn').on('click', function(){
let plus = parseInt( $(this).attr('data-price') );
price += plus;

console.log(price); // должен вызываться из функции клика, а не снаружи.
});
}

ОК
Олег Крюков

.val() тут явно лишний.
Также существует .data('price')

Похожие вопросы
Не работает событие jquery click на мобильных браузерах
Помогите переписать код с jQuery на JS.
Как в jquery прописать размеры фото? jquery прописать размеры фото?
Вопрос по коду JavaScript (jQuery)
Сохранение запроса Jquery
Почему объекты jQuery выводятся одновременно, а не по очереди
Есть проблема с AJAX (JQuery)
Почему не работает код JS?
JQuery собираю калькулятор
Почему не скачивается jQuery UI