0

内部にli要素がない場合、どうすればjquery uiアコーディオンを破棄できますか? シナリオは、ユーザーがクリックして削除できるアコーディオンのli要素の中にあるということです。ユーザーがすべての既存の要素を削除している場合、アコーディオンを破棄する必要があります。

html

<div id="catalog">
<h4 id="my_id" ><a href="#"></a></h4>       
<div>
<ul class="ul_class">
<li class="ui-state-default ui-corner-all" id="li_id1">element_1
<span id="add" class="ui-icon ui-icon-circle-plus" style="float:right"></span>
</li>
<li class="ui-state-default ui-corner-all" id="li_id2">element_1
<span id="add" class="ui-icon ui-icon-circle-plus" style="float:right"></span>
</li>
</ul>
</div>
</div>

Jクエリ

jQuery("span#add").live("click", function(){
    html = html.replace('<span style="float:right" id="add" class="ui-icon ui-icon-circle-plus">','<span style="float:right" id="remove" class="ui-icon ui-icon-circle-minus">');
    var param =  $(this).parent().closest('li').attr("id");

    jQuery(this).parent().animate(
            {
                'margin-left':'1000px'
            },1000,
            function(){
                var ul_class = $(this).parent().attr('class');
                $(this).slideUp('fast');              
                $("ul."+ ul_class + "_clone").append('<li id="'+ param +'">' + html + '</li>');
                $(this).remove();

            }
            );
});
4

2 に答える 2

2
if ( ! $('#myAccordion').find('li').length ) {
    $('#myAccordion').accordion('destroy');
}
于 2013-03-18T19:51:52.127 に答える
0

jQuery UI ウィジェットを破棄するには、初期化された要素を選択し、パラメータ「destroy」を使用してプラグインを呼び出します。

$("#accordion").accordion("destroy");
于 2013-03-18T19:52:49.460 に答える