Je veux vérifier et trier les éléments cachés. Est-il possible de trouver tous les éléments avec attribut display
et valeur none
?
Je veux vérifier et trier les éléments cachés. Est-il possible de trouver tous les éléments avec attribut display
et 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' display
attribut 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 display
peuvent avoir.
affichage: aucun
affichage: en ligne
bloc de visualisation
affichage: élément de liste
affichage: bloc en ligne
Consultez la liste complète des display
valeurs 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 :visible
et :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()
:visible
dépend également de la visibilité de l'ancêtre parent. Si un ancêtre est display: none
tous les descendants ne seront pas visibles quel que soit l' display
état.
$('#selector').is(':visible');
:visible
dépend également de la visibilité de l'ancêtre parent. Si un ancêtre est display: none
tous les descendants ne seront pas visibles quel que soit l' display
état.