2009-07-27 11 views
35

¿Cómo puedo comprobar el valor de visualización de un elementoestilo jQuery valor de visualización

<tr id="pDetails" style="display:none"> 

me da 'display:none'

Quiero escribir un script de jQuery que me va a devolver sólo el valor de la pantalla que es 'ninguno'

¿Es esto posible?

Respuesta

62

Sólo tiene que llamar css con un argumento

$('#idDetails').css('display'); 

Si entiendo su pregunta. De lo contrario, quieres la respuesta de Cletus.

+1

Creo que esto la respuesta puede ser incorrecta Disculpe si me equivoco, pero creo que '.css()' devuelve el estilo calculado, que puede incluir estilos heredados. Creo que OP quiere tener el estilo en línea. ¡Eso es lo difícil de hacer! – JotaBe

0

Esto devolverá lo que usted pidió, pero yo no recomendaría usar css así. Use CSS externo en lugar de css en línea.

$("tr[id='pDetails']").attr("style").split(':')[1]; 
+3

Esto es malo porque no se generaliza cuando el atributo de estilo tiene más que solo mostrar: blah (cualquier cosa, como ancho: 100, se mezclaría en la división (':') [1]) –

16

Bueno, para empezar su epression puede simplificarse:

$("#pDetails").attr("style") 

ya que no sólo debe haber un elemento para cualquier ID dado y el selector de ID será mucho más rápido que el atributo id selector que estás usando.

Si lo que desea es devolver el valor de la pantalla o algo así, el uso de CSS():

$("#pDetails").css("display") 

Si desea buscar elementos que no tienen ninguna pantalla, eso es mucho más difícil de hacer con fiabilidad. Este es un ejemplo aproximado que no será 100%:

$("[style*='display: none']") 

pero si lo que desea es encontrar cosas que están ocultas, utilice esto:

$(":hidden") 
Cuestiones relacionadas