У меня проблема с внутренними аккордеонами: метод destroy-воссоздания для обновления аккордеона после добавления некоторых панелей работает неправильно.
Когда я нажимаю на кнопку во втором аккордеоне, в него добавляется раздел. Но суб-аккордеон не работает (несмотря на деструкцию-воссоздание аккордеона).
Вы можете увидеть код и проверить его здесь: http://jsfiddle.net/YL99D/2/
НО, если я изменю код HTML, добавив начальный раздел в div #sections, он прекрасно работает, когда я нажимаю кнопку (код и демонстрация здесь: http://jsfiddle.net/YL99D/3/)
Я также просмотрел сгенерированные HTML-коды с помощью Firebug и обнаружил кое-что интересное.
Сначала посмотрите на код, сгенерированный, когда я поместил жестко запрограммированный раздел в div #sections:
<div id="sections" class="ui-accordion ui-widget ui-helper-reset ui-accordion-icons" role="tablist">
<div id="sections_new1">
<h3 class="ui-accordion-header ui-helper-reset ui-state-active ui-corner-top" role="tab" aria-expanded="true" aria-selected="true" tabindex="0">
<span class="ui-icon ui-icon-triangle-1-s"></span>
<a href="#" tabindex="-1">Section</a>
</h3>
<div class="ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active" role="tabpanel" style="display: block;">
Section content :
<br>
<div class="sub-accordions ui-accordion ui-widget ui-helper-reset ui-accordion-icons" role="tablist">
<div>
<h3 class="ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-hover" role="tab" aria-expanded="false" aria-selected="false" tabindex="0">
<span class="ui-icon ui-icon-triangle-1-e"></span>
<a href="#" tabindex="-1">Sub accordion.</a>
</h3>
<div class="ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" role="tabpanel" style="display: none;">Sub accordion content</div>
</div>
</div>
</div>
</div>
</div>
Теперь посмотрите на код, сгенерированный, когда я оставляю div #sections пустым:
<div id="sections" class="ui-accordion ui-widget ui-helper-reset ui-accordion-icons" role="tablist">
<div id="sections_new1">
<h3 class="ui-accordion-header ui-helper-reset ui-state-active ui-corner-top" role="tab" aria-expanded="true" aria-selected="true" tabindex="0">
<span class="ui-icon ui-icon-triangle-1-s"></span>
<a href="#" tabindex="-1">Section</a>
</h3>
<div class="ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content-active" role="tabpanel" style="display: block;">
Section content :
<br>
<div class="sub-accordions ui-accordion ui-widget ui-helper-reset ui-accordion-icons" role="tablist">
<div class="ui-accordion-header ui-helper-reset ui-state-default ui-state-active ui-corner-top ui-state-hover" role="tab" aria-expanded="true" aria-selected="true" tabindex="0">
<span class="ui-icon ui-icon-triangle-1-s"></span>
<h3>
<a href="#" tabindex="-1">Sub accordion.</a>
</h3>
<div>Sub accordion content</div>
</div>
</div>
</div>
</div>
</div>
В результате классы плохо установлены.
У кого-то есть представление о том, что вызывает эту проблему?
[РЕДАКТИРОВАТЬ] : полная перефразировка