想要在页面加载和ajax完成时应用相同的代码。以下是代码
$(document).ajaxComplete(function() {
showHideBlock();
});
$(document).ready(function() {
showHideBlock();
});
function showHideBlock() {
if ($('.reservationDetails').length == 1) {
$('.user-reservation-info').show();
} else {
$('.user-reservation-info').hide();
}
}
还有其他更好的方法吗?
答案 0 :(得分:0)
您可以使用method chaining并缩短附加ready
和ajaxComplete
处理程序的代码。您可以通过将$('.user-reservation-info')
存储在变量中来避免输入if..else
两次。此外,由于您的$(document).ready(showHideBlock).ajaxComplete(showHideBlock);
function showHideBlock() {
var userInfo = $('.user-reservation-info');
$('.reservationDetails').length === 1 ? userInfo.show() : userInfo.hide();
}
代码非常简单,因此您可以使用ternary operator。
$('.reservationDetails').length === 1
如果您只是在检查$('.reservationDetails').length
是否与DOM中的任何元素匹配,您也可以在上面的代码中仅使用.reservationDetails
替换length
。但是,如果您特别需要 MATCH(MAX(Y13:AN13),Table2,0
为1,那么就无法做到这一点。