Determinar si el atributo CSS es un cierto valor?
Me pregunto cómo determinar una sentencia jQuery como esta
if( $("#test").css('display', 'block') == true) {
return true;
}
Básicamente, quiero ser capaz de determinar SI un elemento tiene se está mostrando u ocultando actualmente a través del atributo "display:block"?
3 answers
Use
if( $("#test").css('display') == 'block') {
Estoy bastante seguro de que .css()
, devolviendo un valor calculado, siempre devolverá un resultado en minúsculas - los documentos no dicen nada sobre esto. Para estar totalmente seguro, usted podría hacer un
if( $("#test").css('display').toLowerCase() == 'block') {
Si bien puede confiar en que display
proporciona resultados confiables, tenga en cuenta que algunas propiedades CSS no siempre se mostrarán de la manera en que se definieron. Por ejemplo
a { color: red }
Resultará rgb(255,0,0);
cuando se le pregunte usando .css()
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-08 17:07:29
Puede usar isvisible y también está oculto
if ( $('#test').is(':visible')){
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-08 17:09:07
Creo que la única manera de probar esto es comparándolo con valores reales:
function displayHidden(elem) {
return $(elem).css('display') === 'hidden';
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-08 17:08:16