Это, вероятно, самый странный JavaScript вопрос когда-либо:JavaScript всегда возвращает истину, даже если это не
$('div.GiftContainer').live('click', function() {
var self = $(this);
var price = $(this).attr('data-price');
if (!self.hasClass('selected')) {
if (price <= MyCredits) { // always returns true
alert('OK');
self.addClass('selected').siblings().removeClass('selected');
} else {
alert('MOO!');
}
} else {
self.removeClass('selected');
}
});
Возвращает верно, даже когда я добавил console.log(price + ' ' + MyCredits);
прямо перед тем, состояние и цена была меньше, чем MyCredits.
Что это может быть ...
Вы пробовали ParseInt, или одна из функций из этого семейства? Возможно, он разбирает его как строку или что-то в этом роде. – Tim
yup, это исправлено :) ответьте на мой вопрос, чтобы я мог отметить его как принятый ответ. Благодаря! – user1027620
Является ли 'MyCredits' строкой или числом? –