35 votes

JQuery: vérifier si un élément est masqué par l'utilisateur

Comment vérifier si un élément particulier est caché à l'utilisateur? Dans mon code, sous certaines conditions, ce code s'appellera:

 $("#VersionSelectField").hide('fast');
 

Je dois donc m'assurer que si $("#VersionSelectField") est caché, je n'aurais pas à valider la valeur qu'il contient lorsque je soumets le formulaire (j'utilise la bibliothèque JQuery Validate à cette fin).

Des idées?

75voto

user120242 Points 1280
$("#VersionSelectField").is(':hidden');

8voto

Mark A. Nicolosi Points 11859

Cela fonctionne pour moi:

 $("#VersionSelectField").css("display") == "none";
 

0voto

Rob Points 1287

Essayez $("#versionselectfield[display='none']").length > 0 .

0voto

xandy Points 13480

Vous pouvez utiliser le rappel de la méthode hide (). Par exemple:

 $("#VersionSelectField").hide('fast', function() {
    GlobalVersionSelectFieldHidden = true;
});
 

La méthode ci-dessus n’est qu’une des méthodes à utiliser. En gros, le rappel ne se déclenche que lorsque l’animation est terminée (c’est-à-dire totalement masquée). Bien sûr, polluer la portée de la variable globale est très vilain, mais juste un exemple rapide.

Alternativement, vérifier si l'affichage est "none", comme le suggère Mark, fonctionne également, car l'effet JQ cachera totalement les éléments utilisant cette propriété css particulière.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X