¿Es posible verificar si el CSS de un elemento display == block
o none
usar JavaScript?
javascript
css
Seth
fuente
fuente
currentStyle
? nunca escuché de él, también verifiquédocument.body.currentStyle
y no obtuve nada (no me sorprendió)Si el estilo se declaró en línea o con JavaScript, puede acceder al
style
objeto:return element.style.display === 'block';
De lo contrario, tendrá que obtener el estilo calculado y hay inconsistencias en el navegador. IE usa un
currentStyle
objeto simple , pero todos los demás usan un método:return element.currentStyle ? element.currentStyle.display : getComputedStyle(element, null).display;
Se
null
requiere en Firefox versión 3 y anteriores.fuente
===
y!==
operadores".===
lugar de==
aquí, pero tampoco hay ventaja. Se garantiza que ambos operandos son cadenas, por lo que ambos operadores realizan exactamente los mismos pasos.Para jQuery, ¿te refieres a esto?
$('#object').css('display');
Puedes comprobarlo así:
if($('#object').css('display') === 'block') { //do something } else { //something else }
fuente
Esta respuesta no es exactamente lo que desea, pero puede ser útil en algunos casos. Si sabe que el elemento tiene algunas dimensiones cuando se muestra, también puede usar esto:
var hasDisplayNone = (element.offsetHeight === 0 && element.offsetWidth === 0);
EDITAR: Por qué esto podría ser mejor que la verificación directa de CSS
display
propiedad ? Porque no es necesario verificar todos los elementos principales. Si algún elemento padre tienedisplay: none
, sus hijos también están ocultos, pero todavía lo estáelement.style.display !== 'none'
.fuente
si.
var displayValue = document.getElementById('yourid').style.display;
fuente
JavaScript básico:
if (document.getElementById("elementId").style.display == 'block') { alert('this Element is block'); }
fuente
Para saber si es visible con JavaScript simple, verifique si la propiedad de visualización es 'ninguna' (no verifique 'bloque', también podría estar en blanco o 'en línea' y aún estar visible):
var isVisible = (elt.style.display != "none");
Si está usando jQuery, puede usar esto en su lugar:
var isVisible = $elt.is(":visible");
fuente
Con javascript puro puede verificar la
style.display
propiedad. Con jQuery puedes usar$('#id').css('display')
fuente
Puede verificarlo con, por ejemplo, jQuery:
$("#elementID").css('display');
Devolverá una cadena con información sobre la propiedad de visualización de este elemento.
fuente