Jquery: cómo obtener el atributo de visualización de estilo "ninguno / bloque"

81

¿Hay alguna manera de obtener el atributo style: display que tendría ninguno o bloque?

DIV:

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

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

</div>

Sé que hay una manera de averiguar si el DIV está oculto o no, pero en mi caso, este div se inyecta dinámicamente, por lo que siempre aparece como visible falso, por lo que no puedo usar eso:

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

Puedo obtener el resultado "display: block" usando:

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

¿Hay alguna forma de obtener solo el valor "bloque" o "ninguno" o hay una forma mejor / más eficiente de hacerlo?

Murtaza Mandvi
fuente

Respuestas:

125

Tu podrías intentar:

$j('div.contextualError.ckgcellphone').css('display')
gnarf
fuente
77

Si está usando jquery 1.6.2 solo necesita codificar

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

por ejemplo:

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

Esta es la respuesta correcta

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

También puede usar la siguiente línea para encontrar si es un bloque de visualización o ninguno

$('.deal_details').is(':visible')
Seetpal Singh
fuente
2
Ya que está intentando hacer una verificación de igualdad, ¿no debería usar '===' en lugar de '=='?
gmeben
7
Verificar con .css ("pantalla") y .is (": visible") no es lo mismo. Si el elemento padre tiene "display: none", darán resultados diferentes. Ten cuidado.
xecute
3

Mi respuesta

/**
 * Display form to reply comment
 */
function displayReplyForm(commentId) {
    var replyForm = $('#reply-form-' + commentId);
    if (replyForm.css('display') == 'block') { // Current display
        replyForm.css('display', 'none');
    } else { // Hide reply form
        replyForm.css('display', 'block');
    }
}
usuario2487028
fuente
1
//animated show/hide

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