jquery “hasClass()” ne fonctionne pas?
J'ai besoin de cacher une div si un autre div a une classe.
J'ai créé un exemple de base ICI
J'ai besoin de la div sur le bas pour cacher lorsque le mot "clic".. eh bien.. cliqué. Il ajoute une classe au milieu de la div, mais il semble hasClass()
ne veulent pas travailler?
REMARQUE: La structure doit être comme cela. Si le "clic" est cliqué, de modifier le milieu div (ajouter une classe?), et de manipuler le bas div basée sur le milieu de la div. Avec cette configuration, je ne peux pas juste faire "si le CLIC est cliqué, slideUp() le fond de la div".
Aussi, une fois "ok" ou "annuler" est cliqué, il va revenir, parce que le moyen div n'ont plus la classe. À condition que la méthode que je peux obtenir de travailler ici, haha.
- vous dod réaliser, dans votre exemple, hasclass n'est appelée qu'une seule fois. Son pas un événement, sa ne va pas le feu à chaque fois que l'élément a de la classe. hasClass est une fonction destinée à être utilisée durant un événement pour vérifier si un élément a une classe spécifique
Vous devez vous connecter pour publier un commentaire.
votre
if
déclaration est en dehors de toute fonction, de sorte qu'il n'y a aucune raison pour qu'elle soit appelée après que le script est chargé.Voir ce violon, Je pense que c'est ce que vous voulez.
Sur une note de côté, une autre variante de vérifier si il y a une classe est:
Vous recommandons tout de même hasClass bien. Juste agréable de voir des variations parfois.
Comme mentionné par d'autres, vous n'avez pas un appel à
if
sur tous les gestionnaires d'événements click. Créer une fonction personnalisée avec déclaration à l'intérieur deif
et de l'appeler sur tout cliquez sur gestionnaire.Cochez cette violon
Ce n'est appelé qu'une fois, lorsque le script se charge. Vous devez faire en sorte qu'il soit appelé dans votre
.click(...)
gestionnaire.$("a").on("click", function(){ if($("#timestampdiv").hasClass("hidepub")){ $("#major-publishing-actions").slideUp("slow");});
Après l'ajout de la classe de l'élément DOM, ce qui devrait correctement masquer l'élément.
Vous pouvez les combiner en une seule fonction, Et vous voulez que l'enregistrement à l'intérieur de l'fonctions de clic
Vous pouvez réduire le addclass removeclass en utilisant toggleClass et en le passant dans une condition
http://jsfiddle.net/JPcge/
Vous pouvez l'inverser en inversant la logique adoptée dans le toggleClass() méthodes