在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 ))
答案 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 string
,undefined
。由于上面的条件语句会将值转换为布尔值true,因此执行代码块。