Некорректное выполнение условий функции
Есть объект, к которому применяется определенный класс в зависимости от значения атрибута "data". Задача в том, чтобы реализовать возможность изменения класса при клике на него. Все срабатывает только один раз, при повторном нажатии на объект ничего не происходит, хотя функция favoritecheck значение переменной получает.
<div id="favorite" data="1"></div>
<script>
$(document).ready(function () {
var favorite = $("#favorite").attr("data"); // Присвоение переменной значения из data
favoritecheck (favorite); // Направление переменной в функцию favoritecheck
function favoritecheck () {
if (favorite == 0) { // Функция добавляет класс объекту исходя из значения переменной
$("#favorite").addClass("favorite0");}
else {
$("#favorite").addClass("favorite1");};
//alert(favorite);
};
$("#favorite").click(function (){
if (favorite == 0) {favorite = 1} // Изменение значения переменной при клике на объект
else {favorite = 0};
favoritecheck (favorite); // Направление переменной в функцию favoritecheck
});
});
</script>
Источник: Stack Overflow на русском