jQuery:当页面加载时,手风琴列表是否已经扩展了1个列表项?

时间:2012-12-02 23:18:37

标签: jquery

我使用以下代码使用jQuery显示手风琴菜单。

目前,每个项目在页面加载时关闭(未展开)。我希望列表中的第一项在页面加载时已经展开。是否可以使用jQuery以某种方式设置?

不幸的是,我无法更改HTML标记,因为它是动态生成的。

这是我的HTML:

<ul id="menu-classes" class="menu">
<li>
    <h3><a>Item 1</a></h3>
    <div class="sub">
        <p>Some blah blah here.</p>
        <a href="#"><span class="readmorehomebox">read more ›</span></a>
    </div>
</li>
<li>
    <h3><a>Item 2</a></h3>
    <div class="sub">
        <p>Some blah blah here.</p>
        <a href="#"><span class="readmorehomebox">read more ›</span></a>
    </div>
</li>
<li>
    <h3><a>Item 3</a></h3>
    <div class="sub">
        <p>Some blah blah here.</p>
        <a href="#"><span class="readmorehomebox">read more ›</span></a>
    </div>
</li>
</ul>

这是我的jQuery:

  $('#menu-classes h3').click(function(){
    if ($(this).attr('class') != 'active'){
      $('.sub').slideUp();
      $(this).next().slideToggle();
      $('#menu-classes h3').removeClass('active');
      $(this).addClass('active');
    }
  });

这是我的CSS:

.sub {display: none;}

2 个答案:

答案 0 :(得分:0)

为要扩展的ID提供元素,然后在页面加载时模拟单击:

$(document).ready(function(){
     $("some selector").click();
});

此外,它应该在ready函数中,以便当页面尝试单击时该元素将存在。

答案 1 :(得分:-1)

在document.ready中,只需点击要打开的那个:

$(document).ready(function () {
    $("selector for item you want open").click();
});