11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

j'ai implémentée un menu accordéon avec JQuery sans problème.
Cependant, je souhaite que le texte du lien soit différent selon que le menu est ouvert ou fermé.
J'ai le code suivant :

    // On modifie l'évènement "click" sur les liens dans les items de liste
    // qui portent la classe "toggleSubMenu" :
    $(".CorpsArticle li.toggleSubMenu > a").click( function () {
        // Si le sous-menu était déjà ouvert, on le referme :
        if ($(this).next("ul.subMenu:visible").length != 0) {
            $(this).next("ul.subMenu").slideUp("normal");
	   [#red] $(this).replaceWith('<a class="Visible" href="" title="Lire la suite">' + TexteSpan + '<\/a>') ;[/#]
        }
        // Si le sous-menu est caché, on ferme les autres et on l'affiche :
        else {
            $(".CorpsArticle ul.subMenu").slideUp("normal");
            $(this).next("ul.subMenu").slideDown("normal");
	    [#red] $(this).replaceWith('<a class="Visible" href="" title="Fermer">' + 'Fermer' + '<\/a>') ;[/#]


J'ai ajouté ce qui est en rouge mais du coup, il ne reconnaît plus le "nouveau" lien et l'événement "click" n'est plus utiliser par les nouveaux liens.
Quel est le problème?
Merci. Smiley decu
Modifié par alf (13 Mar 2008 - 15:44)