jQuery UI Accordion无法以编程方式打开第3个面板

时间:2011-02-04 20:50:24

标签: jquery accordion jquery-ui-accordion

无法通过jQuery程序调用获取Jquery UI Accordion中的第3个面板,同时保持面板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 &amp; events</a></li>
    </ul>
  </div>
</div>

  

我的手风琴初始化为:

$(".accordion1").accordion({ header: ".left-menu-title" });

它很有效。我试图以编辑方式打开第3个#wine Wine Shop面板,关闭餐厅和面包板,但当我使用这些面板时,所有面板都打开而不是仅仅是第3个:

$('.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

1 个答案:

答案 0 :(得分:3)

按顺序运行它们,如下所示:

$(".accordion1").accordion({ header: ".left-menu-title" });
$('.accordion1').accordion('activate', 2 );

看到它的实际效果: http://jsfiddle.net/WWPFq/