我从阅读文档中了解到,accordion中的active选项采用布尔值或整数。有没有办法根据选择器做到这一点?
我想要完成的是,如果某个元素具有活动类,则通过accordion激活父节点。我的目标是h3元素。在我包含的代码中,第一部分应该是活动的,因为li上的类是活动的,值为1。
Jquery的
var t = $('.ui-accordion-content a.active');
if (t.length){
//select the h3 element
var parent = $(t).parents('h3.ui-accordion-header');
//close all sections
$( ".accordion" ).accordion( "option", "active", false );
//open section
$( ".accordion" ).accordion( "option", "active", parent );
}
HTML
<div>
<ul>
<li>0</li>
</ul>
<ul class="accordion">
<li>
<h3><a href="#">First</a></h3>
<div>
<ul>
<li class="active">1</li>
<li>2</li>
</ul>
</div>
</li>
<li>
<h3><a href="#">Second</a></h3>
<div>
<ul>
<li>3</li>
<li>4</li>
</ul>
</div>
</li>
</ul>
答案 0 :(得分:0)
我在h3s
中添加了一个属性<h3 accordian-index="0"><a href="#">First</a></h3>
然后我选择attr并使用整数来设置活动
var headerIndex = parseInt($(t).parents('.ui-accordion-content').siblings('h3').attr('accordian-index'));
$( ".accordion" ).accordion( "option", "active", headerIndex);
它不是我应得的解决方案,而是我现在需要的解决方案。