这在编码中是否可行

时间:2016-07-27 06:47:41

标签: javascript jquery

jQuery我想比较if()括号中的多个值,我的要求如下。 目前我在jQuery尝试此操作,请告知我是否可以在其他环境中使用。

if((a==b && c==d) || (a!=b && c!=d)){
// code goes here

} 

修改

这是我的情景;

 if (($(".product_attribute_input" + id + "_Color").children(":first").val() != "" &&  $(".product_attribute_input" + id + "_Size").children(":first").val() != "")  || ($(".product_attribute_input" + id + "_Color").children(":first").val() !== undefined &&  $(".product_attribute_input" + id + "_Size").children(":first").val() !== undefined ))

2 个答案:

答案 0 :(得分:3)

您需要反转xor操作。这可以缩短为:

if((a==b) == (c==d)){
// code goes here

} 

答案 1 :(得分:0)

如果我正确了解您的情况,您正在尝试检查产品颜色和尺寸输入是否具有值..

//Declare variable here for ease of maintenance and to avoid repetitive calls on the same node...
var productAttrInputColor = $(".product_attribute_input" + id + "_Color").children(":first").val(),
    productAttrInputSize = $(".product_attribute_input" + id + "_Size").children(":first").val();

if (productAttrInputColor || productAttrInputSize) {
    //Do something if the above condition returns a truthy values
}

另请注意,我删除了条件运算符以检查empty stringundefined。由于上面的条件语句会将值转换为布尔值true,因此执行代码块。