2012-02-17 8 views
3

特定の要素を動的に追加するJquery UIアコーディオンがあります。私は適切なアルファベット順にダイナミックなアコーディオンカテゴリを追加できるようにする自己記述のソートコードを使用します。私が遭遇した問題は、動的要素がアコーディオンの最上部または最下部にある場合、ソート機能が失敗することです。アコーディオンの特定の要素を無視するようにjQuery UIを強制する方法

私は私が問題はアコーディオンが出トリップ今id="zzzzzzzzzzzzzzzzzzzzzzzzzzz"

id="0000000000000000000000000000"と底部要素を有するトップ1とアコーディオンの中で、ダミーの要素を作成することで、並べ替えに伴う問題を回避することができますジミー・不正な方法を考え出しましたこれらのダミー要素をどのように処理するか分からず、display:none,visibility:hidden,disabled、またはdata-role="none"の量でもこの問題が修正されます。

私の質問は、アコーディオンによって完全に無視されるアコーディオンの最上部と最下部にどうやってダミー要素を追加できますか?要素がdivspanimgなどであるかどうかは問題ではありません。アコーディオンがそれらを無視する限り、何でも問題ありません。

ありがとうございました。

+0

ここでの本当の問題はソート関数であり、修正する必要があることをお勧めします。 – Interrobang

+0

ソートの問題は、アコーディオンがh3とdivの2つの独立した要素を取りますが、Goranの答えが –

答えて

6

Accordionが無視する要素を明示的に指定することはできませんが、headerオプションを使用して、受け入れる要素を指定できます。上部と下部の要素にignoreというクラスを追加し、:not()セレクタを使用して、このクラスを含まない他の要素を含めることをお勧めします。

例としては、jsFiddleを参照してください。

$('#myAccordion').accordion({ 
    header: 'h3:not(.ignore)' 
}); 

希望が問題を解決します。 Interrobangによると、この問題はソートの可能性が高いです。

+1

ありがとうございます!これは完全に機能しました! –

関連する問題