javascript中的IF语句有什么问题;jquery?

javascript中的IF语句有什么问题;jquery?,jquery,Jquery,基本上我是黑客一个foxycart设置我运行,我需要基本上隐藏一个特定的航运选项,如果在页面上存在一些东西 1) 那美元价值!=美国(这是从文本输入中动态提取的,但为了向您展示,我在这里将其设置为静态变量 2) “.fc\u购物车\u项目”只出现一次 3) “.fc\u cart\u item\u quantity”中的文本仅为1 和 4) #fc_cart_表中的文本包含Xyz或Zyx 这是我的声明,有点有效 var value = 'Australia'; if( (

基本上我是黑客一个foxycart设置我运行,我需要基本上隐藏一个特定的航运选项,如果在页面上存在一些东西

1) 那美元价值!=美国(这是从文本输入中动态提取的,但为了向您展示,我在这里将其设置为静态变量
2) “.fc\u购物车\u项目”只出现一次
3) “.fc\u cart\u item\u quantity”中的文本仅为1

4) #fc_cart_表中的文本包含Xyz或Zyx

这是我的声明,有点有效

 var value = 'Australia';

if(    
    (    $value != 'United States'    &&    $('.fc_cart_item').size() < 2    &&    $('.fc_cart_item_quantity').text() < 2    )    &&    
    (    $('#fc_cart_table:contains(\'Zyx\')')    ||    $('#fc_cart_table:contains(\'Xyz\')')    )    
)

    {

       // do stuff

     }
var值='澳大利亚';
如果(
($value!=“美国”&&$('.fc_购物车项目').size()<2&$('.fc_购物车项目数量').text()<2&&
($(“#fc#u cart_table:contains(\'Zyx\')))|$(“#fc#u cart_table:contains(\'Xyz\'))
)
{
//做事
}
现在,当我在购物车中有Xyz或Zyx时,它正在工作(无论我放入什么//都会发生事情)。。。但即使不是Xyz或Zyx,它仍然在做一些事情

我来自PHP背景,所以我不知道我在这里是否正确地执行了if语句

当满足以下条件时,这就是“做事”:


$value != 'United States'    &&    $('.fc_cart_item').size() < 2    &&    $('.fc_cart_item_quantity').text() < 2    )

$value!='美国“&&$('.fc_购物车项目').size()<2&$('.fc_购物车项目数量').text()<2)
即使购物车中没有Zyx或Xyz。

当满足以下条件时,它就是在“做事”:


$value != 'United States'    &&    $('.fc_cart_item').size() < 2    &&    $('.fc_cart_item_quantity').text() < 2    )

$value!='美国“&&$('.fc_购物车项目').size()<2&$('.fc_购物车项目数量').text()<2)

即使购物车中没有Zyx或Xyz。

示例中的if语句也将始终返回true,因为:contains选择器不会返回可安全用于if语句的布尔值。请尝试以下方法:

value = "Australia";

if( ( value != "United States" &&  $(".fc_cart_item").size() < 2 &&
   $(".fc_cart_item_quantity").text() < 2   ) &&
   ( $("#fc_cart_table").is(":contains('Zyx')") ||
   $("#fc_cart_table").is(":contains('Xyz')")    ) 
{

   // do stuff
}
value=“澳大利亚”;
如果((值!=“美国”&&$(.fc\u购物车项目”).size()<2&&
$(“.fc\购物车\商品\数量”).text()<2&&
($(“#fc#u cart_table”)是(“:contains('Zyx')”)||
$(“#fc_cart_table”)是(“:contains('Xyz')”)
{
//做事
}

顺便说一句,您可以知道您来自PHP背景,使用$value语法…:)

示例中的if语句将始终返回true,因为:contains选择器不会返回可安全用于if语句的布尔值。请尝试以下方法:

value = "Australia";

if( ( value != "United States" &&  $(".fc_cart_item").size() < 2 &&
   $(".fc_cart_item_quantity").text() < 2   ) &&
   ( $("#fc_cart_table").is(":contains('Zyx')") ||
   $("#fc_cart_table").is(":contains('Xyz')")    ) 
{

   // do stuff
}
value=“澳大利亚”;
如果((值!=“美国”&&$(.fc\u购物车项目”).size()<2&&
$(“.fc\购物车\商品\数量”).text()<2&&
($(“#fc#u cart_table”)是(“:contains('Zyx')”)||
$(“#fc_cart_table”)是(“:contains('Xyz')”)
{
//做事
}

顺便说一句,你可以知道你来自PHP背景,使用$value语法…:)

试试下面的方法。请注意,变量不是通过
$value
访问的,而是通过
value
访问的。您也不应该检查
$('fc\u cart\u table:contains(\'Zyx\'))
-结果是一个布尔值为true的空数组。而是使用
$('fc\u cart\u table:contains(\'Zyx\')).size()
或如下所示:

var value = 'Australia';

if(    
    (    value != 'United States'    &&    $('.fc_cart_item').size() < 2    &&    parseInt($('.fc_cart_item_quantity').text()) < 2    )    &&    
    (    $('#fc_cart_table').text().indexOf('Zyx') > -1    ||    $('#fc_cart_table').text().indexOf('Xyz') > -1    )    
)
{
    // do stuff
}
var值='澳大利亚';
如果(
(value!=“美国”&&$(“.fc_购物车项目”).size()<2&&parseInt($(“.fc_购物车项目数量”).text())<2&&
($('fc#u cart_table').text().indexOf('Zyx')>-1 |$('fc#u cart_table').text().indexOf('Xyz')>-1)
)
{
//做事
}

/编辑:为了正确使用类型,我还添加了一个
parseInt()
语句。请注意,变量不是通过
$value
访问的,而是通过
value
访问的。您也不应该检查
$('fc\u cart\u table:contains(\'Zyx\'))
-结果是一个布尔值为true的空数组。而是使用
$('fc\u cart\u table:contains(\'Zyx\')).size()
或如下所示:

var value = 'Australia';

if(    
    (    value != 'United States'    &&    $('.fc_cart_item').size() < 2    &&    parseInt($('.fc_cart_item_quantity').text()) < 2    )    &&    
    (    $('#fc_cart_table').text().indexOf('Zyx') > -1    ||    $('#fc_cart_table').text().indexOf('Xyz') > -1    )    
)
{
    // do stuff
}
var值='澳大利亚';
如果(
(value!=“美国”&&$(“.fc_购物车项目”).size()<2&&parseInt($(“.fc_购物车项目数量”).text())<2&&
($('fc#u cart_table').text().indexOf('Zyx')>-1 |$('fc#u cart_table').text().indexOf('Xyz')>-1)
)
{
//做事
}

/编辑:为了正确使用类型,我还添加了一个
parseInt()
语句。

删除
值之前的
$
。然后将
parseInt()
放在
$('.fc\u cart\u item\u quantity')周围。text()

删除
值之前的
$
。并将
parseInt()
放在
$('.fc\u cart\u item\u quantity')周围。text()

如其他答案所述,这是不够的。如其他答案所述,这是不够的。谢谢MrMage。我选择zdawgs是因为它的代码更少。你的也起作用了!谢谢你,麦格先生。我选择zdawgs是因为它的代码更少。你的也起作用了!