像jQuery.toggle(布尔型)这样的东西存在吗?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (33)

我经常编写类似于以下代码的东西。它基本上是根据某种条件切换一个元素。

在下面的示例中,条件是“如果agree选中复选框,name字段不是空的“。

$("button").click(function() {
  if ($("#agree").is(":checked") && $("#name").val() != "" ) {
    $("#mydiv").show();
  } else {
    $("#mydiv").hide();
  }
});

我希望有某种jQuery函数能够像这样工作。

$("button").click(function() {
  var condition = $("#agree").is(":checked") && $("#name").val() != "" );
  $("#mydiv").toggle(condition);
});

外面有这样的东西吗?或者,除了第一个示例之外,还有其他方法可以在较少的范围内完成此操作吗?if-else-ish怎么样?

提问于
用户回答回答于

jQuery.toggle()可以让你做这件事。

$("button").click(function() {
  var condition = $("#agree").is(":checked") && $("#name").val() != "" );
  $("#mydiv").toggle(condition);
});
用户回答回答于

你希望查看复选框的状态(选中与否),并根据该值的状态隐藏或显示第二个div。

定义这种风格:

.noDisplay {
    display:none;
}

使用此JavaScript:

$("button").click(function() {
  $("#mydiv").toggleClass("noDisplay", $("#name").val() == "");
});

扫码关注云+社区

领取腾讯云代金券