必须根据一些逻辑检查来控制多个dom元素的可见性 - 我真的想在jquery中使用这样的东西:
$('.FirstPanel').visible = (condition == 1 || othercondition == true);
$('.SecondPanel').visible = (condition > 3 || othercondition == false);
$('.ThirdPanel').visible = (condition < 3 || stillanothercondition = 'asdf');
etc
当然,我可以使用if或switch语句并调用$('.FirstPanel').hide()
来表达上面的代码......但它需要很多次代码行数。
if(condition == 1 || othercondition == true) {
$('.FirstPanel').show();
$('.SecondPanel').hide();
$('.ThirdPanel').hide();
} else if (condition > 3 || othercondition == false) {
$('.FirstPanel').hide();
$('.SecondPanel').show();
$('.ThirdPanel').hide();
} etc
我觉得我错过了一些明显的东西。感谢
2012.09.24更新
感谢大家的答案 - 切换方法就是门票(见MichaëlWitrant在下面接受的答案)
答案 0 :(得分:3)
$('.FirstPanel').toggle(condition == 1 || othercondition == true);
$('.SecondPanel').toggle(condition > 3 || othercondition == false);
$('.ThirdPanel').toggle(condition < 3 || stillanothercondition = 'asdf');
答案 1 :(得分:0)
尝试类似:
$(".element").css("display", function() { value = (condition == 1 || othercondition == true); if (value) { return 'block'; /*or 'inline' or 'inline-block'*/ }
return 'none'; });