Quando estamos utilizando o jQuery no JavaScript, muitas vezes queremos tomar uma ação baseada no estado de um elemento. Um dos estados bastante utilizados é o de se o elemento está visível ou não. Um elemento é considerado visível quando ele ocupa espaço no documento. Elementos visíveis tem altura ou largura maior do que zero.
Para podermos descobrir se um elemento está oculto, temos basicamente duas ferramentas para utilizar. A primeira que vamos utilizar é a :visible.
JavaScript – usando :visible com o jQuery
O seletor :visible verifica se o elemento está visível dentro do DOM.
1 2 3 4 5 6 7 8 9 10 |
$(document).ready(function() { if($("#content").is(":visible")) { alert('elemento é visível no DOM'); } else { alert('elemento não é visível no DOM'); } }); |
Abaixo temos um exemplo utilizando este seletor para determinar uma ação dentro do programa:
1 2 3 4 5 |
<div id="countries"> <div id="p1">EUA</div> <div style="display:none" id="p2">Canada</div> <div id="p3">Mexico</div> </div> |
Para checar se a div #countires está visível, use a função is() passando o seletor “:visible”:
1 2 3 4 5 |
if( $('#countries').is(':visible') ) { // está visível, faça algo } else { // não está visível, faça algo } |
Loop pelas divs visíveis dentro da div #countries:
1 2 3 |
$("#countries div:visible").each( function() { document.write($(this).html()+'<br />'); }); |
O resultado acima será:
EUA
Mexico
JavaScript – usando :hidden no jQuery
O seletor :hidden faz a verificação oposta, se o elemento está oculto dentro da DOM
1 |
var isHidden = $( "#myDiv" ).is( ":hidden" ); |
Com esses dois seletores, é possível verificar o estado do elemento e prosseguir com o código baseado na resposta. Você conhece outras maneiras de fazer esta operação no JavaScript? Compartilhe seus comentários na seção abaixo!
Caso deseje explorar outras questões, pode conferir nossos vídeos sobre JavaScript. Abaixo estão alguns exemplos:
Você também pode se inscrever em alguns canais que fazem broadcast em JavaScript, como os a seguir:
Outra maneira legal de descobrir mais coisas interessantes sobre JavaScript é acessar nossa página de projetos!