0

我正在读取一个值

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

如果我输入 "Hours" 而不是 number 并且我输入了0<parseInt(result, 10)<24),那么当我期望它为 false 时,结果为 true。

我的代码有什么问题?

4

1 回答 1

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 访问确实很快,而且您没有将Timeid 用于文档中的多个元素,对吧?好吧,你不应该。

于 2012-10-22T07:13:46.627 回答