0

我从阅读文档中知道手风琴中的活动选项采用布尔值或整数。有没有办法根据选择器来做到这一点?

我想要完成的是,如果一个元素具有活动类,则通过手风琴使父部分活动。我的目标是 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>

4

1 回答 1

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);

它不是我应得的解决方案,但它是我现在需要的解决方案。

于 2013-01-04T22:37:35.493 回答