无法通过 jQuery 程序调用打开 Jquery UI Accordion 中的第三个面板,同时保持面板 1 和 2 关闭。我的 HTML 结构是这样的:
<div class="accordion1">
<div class="left-menu-title" id="restaurant">
<h3>Restaurant</h3>
</div>
<div class="left-menu clickable" id="nav-restaurant">
<div id="cat_581274_divs">
<ul id="nav_581274">
<li><a href="/reservations">reservations</a></li>
<li><a href="/menus">menus</a></li>
</ul>
</div>
</div>
<div class="left-menu-title" id="bakery">
<h3>Bakery</h3>
</div>
<div class="left-menu clickable" id="nav-bakery">
<div id="cat_581276_divs">
<ul id="nav_581276">
<li><a href="/pastry-chef">our pastry chef</a></li>
<li><a href="/bakery-menu">bakery menu</a></li>
</ul>
</div>
</div>
<div class="left-menu-title" id="wine">
<h3>Wine Shop</h3>
</div>
<div class="left-menu clickable" id="nav-wine">
<div id="cat_581280_divs">
<ul id="nav_581280">
<li><a href="/wine-shop">about our wine shop</a></li>
<li><a href="/wine-tastings">wine tastings & events</a></li>
</ul>
</div>
</div>
我的 Accordion 初始化为:
$(".accordion1").accordion({ header: ".left-menu-title" });
效果很好。我正在尝试以编程方式打开第三个 #wine Wine Shop 面板,同时关闭餐厅和面包店面板,但是当我使用其中任何一个面板时,所有面板都会打开,而不仅仅是第三个:
$('.accordion1').accordion('activate', 2 );
不工作也不行
$('.accordion1').accordion('activate', 'div#wine');
也没有
$('.accordion1').accordion('activate', 'div#wine h3');
也没有
$('.accordion1').accordion('activate', '#nav-wine');
显然做错了什么。使用 jquery-ui-1.8.5.custom.min.js 和 jquery/1.4.2/jquery.min.js
最佳答案
按顺序运行它们,如下所示:
$(".accordion1").accordion({ header: ".left-menu-title" });
$('.accordion1').accordion('activate', 2 );
查看实际效果: http://jsfiddle.net/WWPFq/
关于jQuery UI Accordion 无法以编程方式打开第三个面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4902800/