26 votes

Comment vérifier si un élément de saisie est caché ?

Comment vérifier si un élément de saisie est caché ?

55voto

nickf Points 185423

Caché comme type="hidden"

$("#myInputElement").attr('type') == 'hidden'

Caché comme display: none

$("#myInputElement").is(":hidden")

17voto

gion_13 Points 15594

nickf est juste, mais cela aurait le même effet sur une entrée qui est cachée par le style ( style="display:none;" ) ou par son type attribut ( type="hidden" ).
Considérons le html suivant :

<input id="first" type="hidden" />
<input id="second" type="text" style="display:none;"/>

Les deux entrées ci-dessus ont le :hidden mais seule l'une d'entre elles possède la fonction hidden type. En supposant que c'est ce que vous recherchiez (parce que les entrées sont les seuls éléments qui peuvent avoir un type caché et que vous vouliez vérifier si un élément de type élément de saisie est caché, et pas n'importe quel autre élément), la bonne réponse à votre question est de vérifier l'attribut type de l'élément :

document.getElementById('first').getAttribute('type') == 'hidden';// true
// although this input is also hidden, it wouldn't pass the check
document.getElementById('second').getAttribute('type') == 'hidden';// false

et, bien sûr, la méthode Jquery :

$('#first').attr('type') == 'hidden';// true
$('#second').attr('type') == 'hidden';// false

Si vous n'étiez intéressé que par la simple propriété de visibilité, alors la pseudoclasse jquery fait l'affaire :

$('#first').is(':hidden');
// or another way
$('#first:hidden').length != 0;

2voto

Itay Ben Shmuel Points 299

HTMLElement.hidden doit renvoyer true s'il possède l'attribut hidden.

document.querySelector('h1').hidden === true

J'espère que cela vous aidera.

0voto

devGirl Points 58

En getAttribute() de l'interface Element renvoie la valeur d'un attribut spécifié sur l'élément. Si l'attribut donné n'existe pas, la valeur retournée sera soit null o "" (la chaîne vide) ;

pour un élément caché, vous pouvez vérifier le type de l'élément.

$('#myElement').getAttribute('type')=='hidden'

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