必须有更好的方法来在以下代码块中设置变量 $callLinkContainer:
var $callLinkContainer;
if ( $callLink.closest('class1-tel').length > 0 ) {
$callLinkContainer = $('body').find('.class1-container');
} else if ( $callLink.closest('.class2').length > 0 ) {
$callLinkContainer = $('body').find('.class2-container');
} else {
$callLinkContainer = $callLink.closest('.class3');
}
以前,我使用三元运算符来设置变量,但我很确定第三个条件使这不可能。如果可能的话,我希望使这段代码更加简洁。
最佳答案
您可以使用多个带缩进的三元运算符
var $callLinkContainer = $callLink.closest('class1-tel').length > 0
? $('body').find('.class1-container')
: $callLink.closest('.class2').length > 0
? $('body').find('.class2-container')
: $callLink.closest('.class3');
运算符的优先级是这样您不需要像中那样添加括号
a ? b : (c ? d : e)
不过,为了更加清晰起见,您可能需要添加它们。
关于javascript - 使用 if、else if、else 语句设置变量的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23354001/