jquery parseInt没有给出正确的结果

时间:2012-10-22 07:12:22

标签: javascript jquery

我正在读取一个值

 var result = $("#Time", $(this)).val();

如果我输入“Hours”而不是数字,并且我0<parseInt(result, 10)<24),那么当我预期它为假时结果为真。

我的代码出了什么问题?

1 个答案:

答案 0 :(得分:3)

您的第一次比较0 < NaN将产生false,其为0,因此为0 < 24,这是真的。

var result = parseInt($('#Time', $(this)).val(), 10);
var between0and24 = 0 < result && result < 24

我还注意到你似乎错误地传递了上下文。 jQuery的context参数应该是DOM节点,而不是jQuery对象,因此请使用$('#Time', this)。请注意,此代码中的该参数没有用处,因为通过ID访问非常快,并且因为您没有将Time id用于文档中的多个元素,对吧?好吧,你不应该。