0

私は値を次のように読んでいます

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

数値の代わりに「時間」と入力して を入力すると、0<parseInt(result, 10)<24)false であると予想していたときに結果が true になります。

コードの何が問題になっていますか?

4

1 に答える 1

3

最初の比較で0 < NaNは が得られます。これはfalse0 のようなものです。したがって0 < 24、これは真です。

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

また、コンテキストを間違って渡しているように見えることにも注意してください。jQuery へのコンテキスト パラメータは、jQuery オブジェクトではなく DOM ノードである必要があるため、 を使用します$('#Time', this)TimeID によるアクセスはそのままでは非常に高速であり、ドキュメント内の複数の要素に対して ID を使用していないため、このコードではそのパラメーターを使用しないことに注意してください。まあ、あなたはすべきではありません。

于 2012-10-22T07:13:46.627 に答える