Dans jquery-ui 1.9, comment voulez-vous créer de nouveaux onglets de façon dynamique?

Selon le guide de mise à jour de jquery-ui 1.9 onglets - http://jqueryui.com/upgrade-guide/1.9/#deprecated-add-and-remove-methods-and-events-use-refresh-method - lors de l'ajout de nouveaux onglets de façon dynamique, vous n'avez qu'à faire quelque chose comme ceci:

HTML:

<div id='tabs'>
    <ul>
        <li><a href='#tab1'>#1</a></li>
    </ul>
    <div id='tab1'></div>
</div>
<button id='add-tab'>Add tab</button>

JavaScript:

$(document).ready(function() {
    $("div#tabs").tabs();

    $("button#add-tab").click(function() {

        var num_tabs = $("div#tabs ul li").length + 1;

        $("div#tabs ul").append(
            "<li><a href='#tab" + num_tabs + "'>#" + num_tabs + "</a></li>"
        );

        $("div#tabs").tabs("refresh");
    });                    
});

Cependant, lorsque j'essaie de changer entre nouvellement créés, les onglets, j'obtiens l'erreur suivante dans firebug:

jQuery UI Tabs: Désadaptation identificateur de fragment.

Si je comprends bien, cette erreur signifie que le panneau d'onglets n'est pas en cours de création (et donc il y a un décalage entre la valeur liquidative du panneau et le panneau d'onglets). Mais le guide de mise à niveau ne fait aucune mention de la création d'un panneau à onglets.

Donc je suis en supposant que ce soit je me suis fais mal ou que le guide de mise à niveau est incomplète. Veuillez préciser.

Fait intéressant à noter, lors de la suppression des onglets, le guide de mise à niveau dit que vous avez explicitement supprimer à la fois l'élément de la liste à partir de la valeur liquidative du panneau ainsi que le panneau d'onglets de manière explicite, alors je me demandais si la même chose s'applique à l'ajout d'onglets.

Copier / coller votre code dans un jsFiddle, et il fonctionne sans aucun problème. jsfiddle.net/rMGCM Êtes-vous sûr que c'est tout ce que vous faites?
Grâce Krippie. Avez-vous essayé de changer entre les onglets? Si vous le faites, vous verrez l'erreur d'incompatibilité. La seule chose qu'il fixe est d'ajouter: $("div#onglets").append("<div id= "onglet" + num_tabs + "'>Onglet " + num_tabs + "</div>"); Mais ce n'est pas mentionné dans les docs.
Guide officiel avec source sur comment ajouter et supprimer des Onglets de manière dynamique en JQuery UI disponible ici: jqueryui.com/tabs/#manipulation

OriginalL'auteur Kosta Kontos | 2013-02-05