Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 即使值相同,条件测试也会失败_Javascript_Jquery - Fatal编程技术网

Javascript 即使值相同,条件测试也会失败

Javascript 即使值相同,条件测试也会失败,javascript,jquery,Javascript,Jquery,我有一个基本的if条件不起作用。我已经尝试使用= 尝试使用parseInt($value)而不是==,但毫无乐趣 需要帮忙吗 function displayReward(value, id) { var output = '.'+id+"Output"; if($(value) === 0){ alert(value + ' - value is equal to 0'); }else{ alert(value + ' -

我有一个基本的if条件不起作用。我已经尝试使用
=
尝试使用
parseInt($value)
而不是
==
,但毫无乐趣

需要帮忙吗

function displayReward(value, id) {

    var output = '.'+id+"Output";
    if($(value) === 0){      
        alert(value + ' - value is equal to 0');
    }else{
        alert(value + ' - value is greater than 0');
    }
}
标记:

<input type="number" name="somename" id="someid" min="0" max="100" step="1" 
    value="0" onChange="displayReward(this.value,this.id);" disabled>

您是否尝试过比较实际的
值?如果jQuery只存储了变量,那么不需要将变量包装到jQuery中,只需使用
if(value==0)
(如果仍然需要解析它,则使用
if(parseInt(value)==0)


TL;DR:jQuery:太多了。

您使用jQuery时出错了。此代码:
$(value)
尝试将
变量设置为jQuery对象,但它不是。在大多数情况下,jQuery对象只用于操作DOM。

我认为这里不需要jQuery选择器($(value))。试一试

 if( value == 0){     
    alert(value + ' - value is equal to 0');
 }else{
    alert(value + ' - value is greater than 0');
 }

为了提供一个关于解析数据的更为具体的答案,我曾多次遇到数字转换为字符串的问题。===运算符不仅比较对象的值,还比较数据的类型。所以当(字符串)
“0”==0
(数字)将等同于true时,
“0”==0
将等同于false。为了让数据保持一致,我在计算它们之前通过
parseInt()
运行了大部分内容,或者使用==。另外,如前所述,jQuery不是以这种方式使用的

如果您想阅读更多内容:


(这将是一个评论,但我没有代表发表评论)

谢谢,它很管用!它与“==”无关,与“==”一起工作。感谢您的澄清。:)