2017-09-12 4 views
-7

Je travaille actuellement sur un nouvel en-tête pour mon site web contenant 2 éléments séparés <nav> déroulants, dont un est un menu hamburger qui se transforme en un X lorsqu'il est cliqué, en basculant une classe.Comment désactiver une classe en utilisant jquery

Grâce à jquery j'ai fait en sorte que lorsqu'un menu déroulant est activé, l'autre est caché (si elle était active au préalable).

Le problème est que je n'arrive pas à comprendre comment désactiver la classe qui fait du menu hamburger un X. Jetez un oeil à ce JSFiddle pour le voir.

(Cliques sur les 3 bars une fois, et par la suite sur le bouton gris à deux reprises pour le voir)

Le Jquery qui permet de basculer la classe peut être vu sur la ligne 27.

-Edit: Le. classe qui est basculée peut être trouvé sur la ligne 110 dans le css. Lorsque vous cliquez sur # prod-toggle, il doit être désactivé, j'ai essayé cela en utilisant removeClass(), mais je ne peux pas obtenir le bon ciblage. Quelqu'un peut-il me dire comment cela pourrait être fait?

+3

'el.removeClass()' et 'el.addClass()'? Utilisez CSS pour positionner en fonction de la classe. Encore mieux, 'el.toggleClass()' – ggdx

Répondre

1

Utilisez ceci:

$("#element id").removeClass(); 

Appel removeClass sans paramètre supprimera toutes les classes de l'élément.

Vous pouvez également utiliser (mais pas nécessairement recommandé, la façon correcte est celle ci-dessus):

 $("#element id").removeAttr('class'); 
     $("#element id").attr('class', ''); 
     $('#element id')[0].className = ''; 

Si vous ne souhaitez pas utiliser jquery vous pouvez utiliser java script:

document.getElementById('item').className = ''; 
+0

Merci! Cela a résolu mon problème – Jacob

+0

Vous êtes les bienvenus.Si vous voulez, vous pouvez voter aussi ma réponse –