我试图弄清楚如何在页面加载时展开的简单jQuery垂直手风琴菜单中展示特定的列表项。我尝试将此添加到jquery以在加载时打开第一个列表项,但它似乎不起作用:
$('#nav li:first ul').show();
jQuery的其余部分是:
<script type="text/javascript">
$(document).ready(function () {
$('#nav > li > a').click(function(){
if ($(this).attr('class') != 'active'){
$('#nav li ul').slideUp();
$(this).next().slideToggle();
$('#nav li a').removeClass('active');
$(this).addClass('active');
$('#nav li:first ul').show();
}
});
});
</script>
三江源!
答案 0 :(得分:0)
你是否在寻找类似的东西:
开放&#34;加纳&#34;作为它的第一个链接?
$(function(){$($('a','#nav')[0]).click();});
答案 1 :(得分:0)
看起来它不是jQuery手风琴,而是an accordion plugin from Adobe。上一句中的链接显示了API,看起来您想要使用类似的内容:
Accordion1.openPanel(index);
我使用Chrome开发工具尝试过此操作但无法正常工作,因此您可能需要确保标记正确无误。我没有太多时间来研究这个问题,但希望这会让你指出正确的方向。
答案 2 :(得分:0)
您拥有.click()
功能所包含的所有内容。您说要在页面加载时打开它,但在实际点击导航项之前,不会执行任何代码。
也许你所要做的就是添加一个$('#nav > li > a.active').next().show();
(我假设打开的导航项在页面加载时有active
类(即它通过PHP或其他东西放在那里)。 / p>
另外,根据我的评论,请勿使用$(this).attr('class') != 'active'
代替$(this).hasClass('active')
。这样可以防止类中的空格出现任何问题,或者是否存在其他类等问题。
答案 3 :(得分:0)
这一行:$('#nav li:first ul').show();
需要与jquery脚本的其余部分分开。