1

我正在使用以下代码使用 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 ›&lt;/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 ›&lt;/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 ›&lt;/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;}
4

2 回答 2

0

给要展开的元素一个ID,然后在页面加载时模拟点击:

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

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

于 2012-12-02T23:21:35.190 回答
-1

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

$(document).ready(function () {
    $("selector for item you want open").click();
});
于 2012-12-02T23:21:55.567 回答