基于变量(不切换)的Jquery显示/隐藏

fre*_*ler 6 jquery

在jQuery(我目前正在使用1.11.4)中,是否有任何内置的辅助函数允许您根据变量显示/隐藏元素?

例如,在根据复选框显示/隐藏某些内容的那一刻,我做了类似这两个例子的事情......

$("#myChk").on("click", function() {
  if ($(this).is(":checked")) {
    $("#otherEl").show();
  } else {
    $("#otherEl").hide();
  }
});

$("#myChk").on("click", function() {
  var $otherEl = $("#otherEl");
  ($(this).is(":checked") ? $otherEl.show() : $otherEl.hide());
});
Run Code Online (Sandbox Code Playgroud)

是否有一个内置的功能,我在文档中不容易找到,允许像...

$("#myChk").on("click", function() {
  $("#otherEl").showOrHide($(this).is(":checked"))
});
Run Code Online (Sandbox Code Playgroud)

我很确定没有任何东西,但我想我会问以防万一.

我知道.toggle()但这是基于元素的当前可见性,而不是外部变量.

(如果有人知道任何类似的东西.slideUp,.slideDown那也会有用.)

j08*_*691 8

您只需要在文档中进一步阅读..toggle()允许您传递true/false来设置显示:

http://api.jquery.com/toggle/#toggle-display

显示

类型:布尔值

使用true显示元素,使用false隐藏它.

所以你可以传递$(this).is(":checked")给它,例如.toggle( $(this).is(":checked") )