É possível verificar se um elemento é CSS display == block
ou none
JavaScript?
javascript
css
Seth
fonte
fonte
currentStyle
? nunca ouvi falar, também verifiqueidocument.body.currentStyle
e não recebi nada (não fiquei surpreso)Se o estilo foi declarado inline ou com JavaScript, você pode apenas obter o
style
objeto:Caso contrário, você terá que obter o estilo calculado e há inconsistências do navegador. O IE usa um
currentStyle
objeto simples , mas todos os outros usam um método:O
null
era necessário no Firefox versão 3 e inferior.fonte
===
e!==
Operadores".===
vez de==
aqui, mas também não há vantagem. Os dois operandos são strings, portanto, os dois operadores executam exatamente as mesmas etapas.Para jQuery, você quer dizer assim?
Você pode verificar assim:
fonte
Essa resposta não é exatamente o que você deseja, mas pode ser útil em alguns casos. Se você souber que o elemento tem algumas dimensões quando exibido, você também pode usar isto:
EDIT: Por que isso pode ser melhor do que a verificação direta da
display
propriedade CSS ? Porque você não precisa verificar todos os elementos pais. Se algum elemento pai tiverdisplay: none
, seus filhos também estarão ocultos, mas ainda estarãoelement.style.display !== 'none'
.fonte
sim.
fonte
JavaScript básico:
fonte
Para descobrir se ele está visível com JavaScript simples, verifique se a propriedade display é 'none' (não marque 'block', também pode estar em branco ou 'inline' e ainda estar visível):
Se você estiver usando jQuery, você pode usar isto:
fonte
Com javascript puro você pode verificar a
style.display
propriedade. Com jQuery você pode usar$('#id').css('display')
fonte
Você pode verificar com, por exemplo, jQuery:
Ele retornará uma string com informações sobre a propriedade de exibição deste elemento.
fonte