78 votes

Jquery - Comment obtenir l'attribut d'affichage du style "none / block" ?

Existe-t-il un moyen d'obtenir l'attribut style : display qui aurait soit none soit block ?

DIV :

<div id="ctl00_MainContentAreaPlaceHolder_cellPhone_input_msg_container" class="Error cellphone" style="display: block;">

     <p class="cellphone" style="display: block;">Text</p>

</div>

Je sais qu'il y a un moyen de savoir si le DIV est caché ou non, mais dans mon cas, ce div est injecté dynamiquement et il apparaît toujours comme visible faux, donc je ne peux pas utiliser ce moyen :

$j('.Error .cellphone').is(':hidden')

Je parviens à obtenir le résultat "display:block" en utilisant :

$j('div.contextualError.ckgcellphone').attr('style')

Existe-t-il un moyen d'obtenir uniquement la valeur "block" ou "none" ou un moyen meilleur/plus efficace de le faire ?

118voto

gnarf Points 49213

Vous pouvez essayer :

$j('div.contextualError.ckgcellphone').css('display')

73voto

raphie Points 1539

Si vous utilisez jquery 1.6.2, il vous suffit de coder

$('#theid').css('display')

par exemple :

if($('#theid').css('display') == 'none'){ 
   $('#theid').show('slow'); 
} else { 
   $('#theid').hide('slow'); 
}

32voto

Seetpal Singh Points 151

C'est la bonne réponse

$('#theid').css('display') == 'none'

Vous pouvez également utiliser la ligne suivante pour savoir s'il s'agit d'un bloc d'affichage ou non.

$('.deal_details').is(':visible')

2voto

byrop Points 21
//animated show/hide

function showHide(id) {
      var hidden= ("none" == $( "#".concat(id) ).css("display"));
      if(hidden){
          $( "#".concat(id) ).show(1000);
      }else{
          $("#".concat(id) ).hide(1000);
      }
  }

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