jQuery不等于条件不起作用

时间:2017-02-03 16:09:51

标签: javascript jquery

我可能会遗漏一些非常明显的东西,但我需要检查两个值

if(data['width'] != 2000 || data['width'] != 750){
    $('.image-warning').show();
}

如果返回的值不是2000或750但似乎一直显示,我想显示图像警告。

2 个答案:

答案 0 :(得分:9)

你的逻辑是有缺陷的。你不能在or条件下使用这样的否定支票,因为如果一方失败,另一方会命中,因此条件总是正确的。您需要使用逻辑and条件:

if (data['width'] != 2000 && data['width'] != 750){
    $('.image-warning').show();
}

答案 1 :(得分:3)

我同意并赞同Rory McCrossan的回答。他应该得到#14;正确答案检查"。但是,我建议做以下事情:

if ( !(data['width'] == 2000 || data['width'] == 750)){
    $('.image-warning').show();
}

伪:

if ( is not ( 2000 or 700 )){
    show
}

那相同!但为什么?问题是避免双重逻辑冲突。有争议的是它没关系,但确实如此。我发布的逻辑是OP所要求的精确翻译。 the returned value is not 2000 or 750。当逻辑被翻译成普通口语时,它变得更容易并避免混淆。 让我们深思熟虑,如果那不是一件事,为什么OP会陷入困境?