0

ドキュメントを読んで、アコーディオンのアクティブオプションがブール値または整数を取ることを知っています。セレクターに基づいてこれを行う方法はありますか?

私が達成しようとしているのは、要素のクラスがアクティブである場合、アコーディオンを介して親セクションをアクティブにすることです。h3要素をターゲットにしています。私が含めたコードでは、値1のliでクラスがアクティブになっているため、最初のセクションがアクティブになっているはずです。

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>

次に、属性を選択し、整数を使用してアクティブを設定します

var headerIndex = parseInt($(t).parents('.ui-accordion-content').siblings('h3').attr('accordian-index'));
$( ".accordion" ).accordion( "option", "active", headerIndex);

それは私が値する解決策ではありませんが、私が今必要としている解決策です。

于 2013-01-04T22:37:35.493 に答える