web-dev-qa-db-fra.com

Déterminer si la propriété CSS est définie sur une certaine valeur?

Je me demande juste comment déterminer une instruction jQuery comme celle-ci

if( $("#test").css('display', 'block') == true) {
   return true;
}

Fondamentalement, je veux pouvoir déterminer SI un élément est actuellement affiché ou masqué via l'attribut "display: block"?

35
Tom

Utilisation

if( $("#test").css('display') == 'block') {

Je suis assez sûr que .css(), renvoyant une valeur calculée, retournera toujours un résultat en minuscules - les docs ne disent rien à ce sujet. Pour être totalement sûr, vous pouvez faire un

if( $("#test").css('display').toLowerCase() == 'block') {

bien que vous puissiez compter sur display pour obtenir des résultats fiables, notez que certaines propriétés CSS ne s'afficheront pas toujours de la manière dont elles ont été définies. Par exemple

a { color: red }

se terminera par rgb(255,0,0); lors d'une requête à l'aide de .css().

65
Pekka 웃

Vous pouvez utiliser isvisible et est également masqué

if ( $('#test').is(':visible')){
9
kobe

Je pense que la seule façon de tester cela est de comparer avec les valeurs réelles:

function displayHidden(elem) {
    return $(elem).css('display') === 'hidden';
}
0
sdleihssirhc