Javascript 即使值相同,条件测试也会失败
我有一个基本的if条件不起作用。我已经尝试使用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 + ' -
=
尝试使用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不是以这种方式使用的
如果您想阅读更多内容:
(这将是一个评论,但我没有代表发表评论)谢谢,它很管用!它与“==”无关,与“==”一起工作。感谢您的澄清。:)