有一些'两位数字' < ='单个数字' jQuery问题

时间:2015-05-23 01:43:40

标签: jquery

我使用if语句来显示隐藏的div。用户将按下按钮以循环显示他们想要预订的小时数。小时数最多可达10。如果if小于5,checkHours语句会显示通知。一切正常,直到用户循环到10小时。显然10不小于4,并显示通知。如果它具有任何相关性,.hours-select文本将通过六个选项(3,4,5,6,7,10)的数组生成。

为什么<=在这种情况下不适用于数字10?

var checkHours = $('.hours-select').text();
var weekendNotice = $('.weekend-notice');

if(checkHours <= '4'){
    weekendNotice.fadeIn(500);
}else{
    weekendNotice.fadeOut(500);
};

谢谢!

2 个答案:

答案 0 :(得分:3)

尝试使用parseInt

var checkHours = parseInt($('.hours-select').text());

然后

if(checkHours <= 4)

没有语录

答案 1 :(得分:2)

'4''10'是字符串(字符集合),而不是数字。字符串的比较方式与字典中的字词相同 - 通过比较第一个字符,然后是第二个字符等,'4'大于'1',因此'4'大于{{{} 1}}。为避免这种情况,请不要在数字周围加上引号,并对从现有字符串中提取的数字调用'10'