Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-If语句条件中的If语句_Javascript_Jquery_If Statement_Logic - Fatal编程技术网

JavaScript-If语句条件中的If语句

JavaScript-If语句条件中的If语句,javascript,jquery,if-statement,logic,Javascript,Jquery,If Statement,Logic,我想在if语句条件中检查元素是否存在,如果存在,则将该元素用作比较的一部分。大概是这样的: if( if($(".element").length > 0) { $.contains( $(".element")[0], $("[ele]")[0] )} ) {... 我知道我可以嵌套if语句,比如: if($(".element").length > 0) { if($.contains( $(".element")[0], $("[ele]")[0] )) {....

我想在if语句条件中检查元素是否存在,如果存在,则将该元素用作比较的一部分。大概是这样的:

if( if($(".element").length > 0) { $.contains( $(".element")[0], $("[ele]")[0] )} ) {...
我知道我可以嵌套if语句,比如:

if($(".element").length > 0) {
    if($.contains( $(".element")[0], $("[ele]")[0] )) {....
但有没有一个更简单的方法来实现这一点?if语句是否可以以某种方式在另一个if语句的条件下使用?

您可以使用&&and运算符。如果&&左侧的值为false,则它不会计算&&右侧的值,因此您不必担心不存在的元素的任何错误。这被称为短路评估,或者做类似的事情,除了如果左侧为真,| |不评估右侧。所以

if($(".element").length > 0 && $.contains( $(".element")[0], $("[ele]")[0] )) ...
这里不需要,但是如果您想在表达式中使用if-else,可以使用?:三元条件运算符。条件a:b和ifcondition a和else b一样,只是它实际上是一个表达式,比如,x=condition?a:b与条件x=a相同;否则x=b

您可以使用&&运算符链接两个条件:

if($(".element").length > 0 && $.contains( $(".element")[0], $("[ele]")[0] )) {

如果第一个条件在&&之前的代码失败,它将缩短并不执行第二个条件。

按预期使用&&,听起来像是在寻找…不确定$[ele],但为什么不只是如果$'.element[ele]'.length->