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

时间:2017-02-27 15:12:38

标签: 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());
});

是否有一个内置功能,我在文档中很容易找到,允许类似......

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

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

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

(如果有人知道.slideUp.slideDown的任何类似内容也会有用。)

1 个答案:

答案 0 :(得分:7)

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

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

  

显示

     

类型:布尔值

     

使用true显示元素或使用false隐藏   它

所以你可以将.toggle( $(this).is(":checked") )传递给它,例如struct <optional struct name> { struct fields... } <typedef name>;