310 votes

Vérifiez, en utilisant jQuery, si un élément est 'display:none' ou bloc au clic

Je veux vérifier et trier les éléments qui sont cachés. Est-il possible de trouver tous les éléments avec l'attribut display et la valeur none ?

669voto

Adil Points 80031

Vous pouvez utiliser :visible pour les éléments visibles et :hidden pour trouver les éléments cachés. Ces éléments cachés ont l'attribut display défini sur none.

hiddenElements = $(':hidden');
visibleElements = $(':visible');

Pour vérifier un élément particulier.

if($('#yourID:visible').length == 0)
{

}

Les éléments sont considérés visibles s'ils occupent de l'espace dans le document. Les éléments visibles ont une largeur ou une hauteur supérieure à zéro, Référence

Vous pouvez également utiliser is() avec :visible

if(!$('#yourID').is(':visible'))
{

}

Si vous souhaitez vérifier la valeur de l'affichage, vous pouvez utiliser css()

if($('#yourID').css('display') == 'none')
{

}

Si vous utilisez l'affichage, les valeurs suivantes display peuvent avoir.

display: none

display: inline

display: block

display: list-item

display: inline-block

Vérifiez la liste complète des valeurs possibles de display ici.

Pour vérifier la propriété d'affichage avec JavaScript

var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none";

68voto

Deepanshu Points 1137
$("élément").filter(function() { return $(this).css("display") == "none" });

32voto

jjhavokk Points 168

Oui, vous pouvez utiliser la fonction css. Ce qui suit recherchera tous les divs, mais vous pouvez le modifier pour les éléments dont vous avez besoin

$('div').each(function(){

    if ( $(this).css('display') == 'none')
    {
       //faire quelque chose
    }
});

22voto

Luceos Points 2189

Il existe deux méthodes en jQuery pour vérifier la visibilité :

$("#selector").is(":visible")

et

$("#selector").is(":hidden")

Vous pouvez également exécuter des commandes en fonction de la visibilité du sélecteur :

$("#selector:visible").hide()

ou

$("#selector:hidden").show()

13voto

Rana Points 101

Utilisez cette condition :

if (jQuery(".profile-page-cont").css('display') == 'block'){
    // Condition 
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X