我想显示/隐藏切换在我单击标题时正在处理的项目上显示的文本。我已经设法在单击标题时显示了内容,但是我无法隐藏当时不需要显示的内容。这个想法是,如果我单击标题1,则会显示div id =“content1”中的内容。当我单击title2时,仅显示id = content2的div等。

谢谢大家,

jQuery链接:https://jsfiddle.net/dt32wshj/3/

   <div class="wrap">
   <h1 class="showcontent" id="1">Text 1</h1>
    <div class="content" id="content1">
      <h3 id="sub1">Sub 1.1</h3>
        <div class="sub" id="Xsub1"><p>Para 1.1</p></div>
      <h3 id="sub2">Sub 1.2</h3>
        <div class="sub" id="Xsub2"><p>Para 1.2</p></div>
    </div>
</div>

<div class="wrap">
  <h1 class="showcontent" id="2">Title 2</h1>
    <div class="content" id="content2">
      <h3 id="sub3">Sub 2.1</h3>
        <div class="sub" id="Xsub3"><p>Para 2.1</p></div>
      <h3 id="sub4">Sub 2.2</h3>
        <div class="sub" id="Xsub4"><p>Para 2.2</p></div>
    </div>
</div>
  <div class="wrap">
    <h1 class="showcontent" id="3">Title 3</h1>
  <div class="content" id="content3">
  <h3 id="sub5">Sub 3.1</h3>
  <div class="sub" id="Xsub5"><p>Para 3.1</p></div>
  <h3 id="sub6">Sub 3.2</h3>
  <div class="sub" id="Xsub6"><p>Para 3.2</p></div>
  </div>
</div>

jQuery查询
$(document).ready(function(){
            $(".showcontent").click(function () {
         var name = $(this).attr('id');
          $("#content" + name).fadeIn(1000);
            });
                 $(".content h3").click(function () {
           var sub = $(this).attr('id');
          $("#X" + sub).slideDown(500);
            });

});

最佳答案

这个想法是,在显示当前内容之前,您必须隐藏所有其他内容

而且您可以不使用id来执行此操作,尤其是在内容较大的情况下,使用类更合适

内在内容也一样

$(document).ready(function() {
  $(".showcontent").click(function() {
    $(".content").hide();
    $(this).next(".content").fadeIn(1000);
  });
  $(".content h3").click(function() {
     $(".sub").slideUp(500);
    $(this).next(".sub").slideDown(500);
  });

});
.sub {
  display: none;
}

.content {
  display: none;
}

h1 {
  cursor: pointer;
}

h1:hover {
  color: blue;
}

h3 {
  cursor: pointer;
}

h3:hover {
  color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="wrap">
  <h1 class="showcontent" id="1">Text 1</h1>
  <div class="content" id="content1">
    <h3 id="sub1">Sub 1.1</h3>
    <div class="sub" id="Xsub1">
      <p>Para 1.1</p>
    </div>
    <h3 id="sub2">Sub 1.2</h3>
    <div class="sub" id="Xsub2">
      <p>Para 1.2</p>
    </div>
  </div>
</div>

<div class="wrap">
  <h1 class="showcontent" id="2">Title 2</h1>
  <div class="content" id="content2">
    <h3 id="sub3">Sub 2.1</h3>
    <div class="sub" id="Xsub3">
      <p>Para 2.1</p>
    </div>
    <h3 id="sub4">Sub 2.2</h3>
    <div class="sub" id="Xsub4">
      <p>Para 2.2</p>
    </div>
  </div>
</div>
<div class="wrap">
  <h1 class="showcontent" id="3">Title 3</h1>
  <div class="content" id="content3">
    <h3 id="sub5">Sub 3.1</h3>
    <div class="sub" id="Xsub5">
      <p>Para 3.1</p>
    </div>
    <h3 id="sub6">Sub 3.2</h3>
    <div class="sub" id="Xsub6">
      <p>Para 3.2</p>
    </div>
  </div>
</div>

10-05 20:47
查看更多