Le cadre ne se ferme plus lors du clique (jquery)

Fermé
lulu - Modifié le 23 févr. 2020 à 16:27
 lulu - 23 févr. 2020 à 22:10
bonjour,

j'ai le code jquery

$(document).ready(function(){
  $('.title').click(function(){
 if($(this).hasClass('icon-ouvert-forum')){
  $(this).removeClass('icon-ouvert-forum').addClass('icon-fermer-forum');
 }
 else if($(this).hasClass('icon-fermer-forum')){
  $(this).removeClass('icon-fermer-forum').addClass('icon-ouvert-forum');
 }
 $(this).next('.liste-forum-afficher-cacher-categorie').slideToggle('fast');
   });      
});


et le code he html

   <!--début de la 1 er ligne des forum-->
   <li class="liste-forum-forum">
   
   <!--début du titre de la catégorie-->
   <div class="liste-forum-titre-categorie">
     <h2 class="liste-forum-titre-categorie-titre">accueil</h2>
     <span class="liste-forum-titre-categorie-sujet">8000 sujet</span>
     <span class="liste-forum-titre-categorie-post">8000 poste</span>
     <span class="liste-forum-titre-categorie-dernier-mesage">
       Dernier message<a class="title icon-ouvert-forum" href="javascript:void(0)" title="ouvert le forum"></a>
      </span>
   </div>
   <!--fin du titre de la catégorie-->

   <!--début d'ouverture et fermeture des catégories-->
   <ol class="liste-forum-afficher-cacher-categorie">

    texte

   </ol>
   <!--fin d'ouverture et fermeture des catégories-->
   </li>
   <!--fin de la 1 er ligne des forum-->


donc quand je clique sur :

<a class="title icon-ouvert-forum" href="javascript:void(0)" title="ouvert le forum"></a>


il me change bien icon-ouvert-forum par icon-fermer-forum (là ce n'est pas le souci)

mais par contre la class liste-forum-afficher-cacher-categoriequi englobe tout le contenu

il ne veux pas se fermer lors du clique

si quelqu'un peut m'aidé à le fermer t ouver lors du clique

merci

2 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
23 févr. 2020 à 16:30
Bonjour,

Ta élément ayant la class "title" ( donc ta balise <a> ) se trouve dans un span, qui elle-même se situe dans une div.
Ton élément à fermer (le <ol> ) se trouve en dehors...
Donc le NEXT ne le trouve pas.
Tu peux essayer avec le parent du parent ( le span et la div)
donc un truc du style
$(this).parent().parent().next('.liste-forum-afficher-cacher-categorie').slideToggle('fast');

0
ca ne marche pas, ce n'est pas grave ;)
0