JavaScript-If语句条件中的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($(".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->