如何在jQuery中显示切换后<ul>中的活动div?</ul>

时间:2013-01-09 18:17:05

标签: jquery toggle

我有一个嵌套菜单,其内容div可以切换为onclick。默认情况下,当页面加载时,菜单会显示所有内容div隐藏。我试图显示页面何时加载(没有任何点击)活动的Content div(class =“active”)。 这是我的HTML:

<ul> 
 <li><h3 class="toggle_action"> Mailing Lists</h3>  // toggle trigger
  <ul class="div_toggle">  // the content div
   <li><h3 class="toggle_action"><a href="/list" class="active">Overview</a></h3></li>
   <li>...another link...</li>
  </ul>
 </li>
</ul>

这是我的jQuery:

(function ($) {
   $(document).ready(function() {
        $(".div_toggle").slideUp();
        $(".active").Show();
        $(".toggle_action").click(function(){
            $(this).next(".div_toggle").slideToggle("slow");
        });         
    });    
  })(jQuery);

我已经搜索了几个小时,但只能找到显示/隐藏onclick的代码,我必须在页面加载时遗漏一些事情。请指点我正确的方向!

2 个答案:

答案 0 :(得分:1)

对我而言,有一件事就是你正在使用$('。active')。Show()这不是一个jQuery方法。你想要$('。active')。show()。请注意小写“S”。

此外,您没有关闭H3标记,而是隐藏了父元素。

具有相同逻辑的简单示例:

<div class="a">
      <div class="b">Apple</div>
      <div class="c">Pear</div>
</div>

$(function(){
  $('.a').slideUp();
  $('.b').show();

  // No matter what you will never see .b or .c.  They will always be hidden
     when .a slides up

})

答案 1 :(得分:-1)

它应该是.show()而不是.Show()

工作jsfiddle示例:http://jsfiddle.net/MMdqp/