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.
O seletor :visible verifica se o elemento está visível dentro do DOM.
$(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:
<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”:
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:
$("#countries div:visible").each( function() { document.write($(this).html()+'<br />'); });
O resultado acima será:
EUA
Mexico
O seletor :hidden faz a verificação oposta, se o elemento está oculto dentro da DOM
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!
In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…
We’re thrilled to announce an exciting opportunity for you to win not one but two…
Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…
Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…
Another week to bring you the top yield platforms for three of the most prominent…
If you hold a large volume of LEDU tokens above 1 million units and wish…
View Comments
Com JS e Jq, dá pra fazer quase tudo :)