与Jquery手风琴一起苦苦挣扎

时间:2015-03-02 15:21:25

标签: jquery

我有一系列带有以下标记的手风琴标签。

   <h3 class="formTitle"> Miscellaneous Forms</h3>
    <div class="misc formwrapper" style="display: block;"> 
      <ul>
          <li>Item
             </li>

        </ul>
     </div>
  <h3 class="formTitle"> Miscellaneous Forms</h3>
    <div class="misc formwrapper" style="display: block;"> 
      <ul>
          <li>Item
             </li>

        </ul>
     </div>
  <h3 class="formTitle"> Miscellaneous Forms</h3>
    <div class="misc formwrapper" style="display: block;"> 
      <ul>
          <li>Item
             </li>

        </ul>
     </div>

每个H3充当一个用于通过以下JS触发显示的依据。

$( ".formTitle" ).click(function() {
    var item =$(this).next(".formwrapper").toggle("medium");
});

这可以很好地切换项目,但我想知道如何隐藏可能打开的其他选项卡。假设我点击一个然后两个,我该如何隐藏一个?

我已经尝试过兄弟姐妹而不是(($ this))但我无法正确理解逻辑。

2 个答案:

答案 0 :(得分:0)

您可以使用.not()

$(".formwrapper").not($(this).next(".formwrapper")).hide();

答案 1 :(得分:0)

这是一段逻辑;)

var allPanels = $('.formTitle').children().hide();

      $('.formTitle').click(function() {
        allPanels.slideUp();
        $(this).children().slideDown();
        return false;
      });