我使用以下代码使用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;}
答案 0 :(得分:0)
为要扩展的ID提供元素,然后在页面加载时模拟单击:
$(document).ready(function(){
$("some selector").click();
});
此外,它应该在ready
函数中,以便当页面尝试单击时该元素将存在。
答案 1 :(得分:-1)
在document.ready中,只需点击要打开的那个:
$(document).ready(function () {
$("selector for item you want open").click();
});