更改关闭的div按钮的文本

时间:2019-02-19 03:40:22

标签: jquery html css button

我有一个使用toggle()功能切换的div列表。切换时,用于切换div的按钮会将文本从“ +”更改为“-”。但是,当我单击到下一个按钮div或上一个按钮div时,较旧的按钮没有用“-”更改文本(因为已关闭,因此应将文本更改为“-”。因此我想更改如果div关闭,则按钮的文本显示为“-”。

$(".p1").hide();
$(".p1-venue").hide();
$(".p1-img").hide();
$(".btn1").click(function() {
  if ($.trim($(this).text()) === '+') {
    $(this).text('-');
  } else {
    $(this).text('+');
  }
  var $p1 = $(this).next(".p1").toggle();
  var $p1venue = $(this).parents().next(".p1-venue").toggle();
  var $p1img = $(this).parent().parent().parent().parent().find(".p1-img").toggle();
  $(".p1").not($p1).hide();
  $(".p1-venue").not($p1venue).hide();
  $(".p1-img").not($p1img).hide();
});

1 个答案:

答案 0 :(得分:0)

像下面一样使用.is(":visible")

Click here to find out more

window.setInterval(() => {
  $(".myDiv").toggle();
}, 1000);

window.setInterval(() => {
  if ($(".myDiv").is(":visible")) {
    $(".text").html("Visible");
  }
  else {
    $(".text").html("Hidden");
  }
}, 1000);
.myDiv {
  width: 100px;
  height: 100px;
  background-color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p class="text">Visible</p>
<div class="myDiv"></div>