Je veux vérifier et trier les éléments cachés. Est-il possible de trouver tous les éléments avec attribut displayet valeur none?
Je veux vérifier et trier les éléments cachés. Est-il possible de trouver tous les éléments avec attribut displayet valeur none?
Réponses:
Vous pouvez utiliser : visible pour les éléments visibles et : caché pour trouver les éléments cachés. Ces éléments cachés ont l' displayattribut 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 comme visibles s'ils consomment 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 voulez vérifier la valeur de l'affichage, vous pouvez utiliser css ()
if($('#yourID').css('display') == 'none')
{
}
Si vous utilisez l'affichage, les valeurs suivantes displaypeuvent avoir.
affichage: aucun
affichage: en ligne
bloc de visualisation
affichage: élément de liste
affichage: bloc en ligne
Consultez la liste complète des displayvaleurs possibles 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";
display: block;écrit en ligne provenant de jquery. je ne peux pas le vérifier avec votre méthode. Aidez moi.
$("element").filter(function() { return $(this).css("display") == "none" });
style="display: none;". Les réponses utilisant :visibleet :hiddenéchoueront si vous voulez une visibilité d'élément spécifique et qu'un élément parent est masqué car ces sélecteurs retournent une visibilité globale sur la page (ce qui n'était pas la question posée).
visibility: 'hidden';en css, donc la vérification a fini par vérifier également:$(this).css('visibility') != 'hidden'
Il existe deux méthodes dans 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é dans le sélecteur;
$("#selector:visible").hide()
ou
$("#selector:hidden").show()
:visibledépend également de la visibilité de l'ancêtre parent. Si un ancêtre est display: nonetous les descendants ne seront pas visibles quel que soit l' displayétat.
$('#selector').is(':visible');
:visibledépend également de la visibilité de l'ancêtre parent. Si un ancêtre est display: nonetous les descendants ne seront pas visibles quel que soit l' displayétat.