Maison > interface Web > tutoriel CSS > Pourquoi `jQuery.height()` renvoie-t-il une valeur pour un élément masqué ?

Pourquoi `jQuery.height()` renvoie-t-il une valeur pour un élément masqué ?

Susan Sarandon
Libérer: 2024-10-28 05:23:02
original
813 Les gens l'ont consulté

Why Does `jQuery.height()` Return a Value for a Hidden Element?

jQuery : height()/width() et "display:none"

Dans ce scénario, l'élément avec l'ID "target " a sa propriété d'affichage définie sur "aucun" via CSS. Cependant, lors de la vérification de sa hauteur à l'aide de $("#target").height(), une valeur non nulle est obtenue.

Ce comportement découle de la gestion interne par jQuery des éléments cachés lors de l'accès à leurs dimensions. Si un élément a un offsetWidth de 0 (considéré comme "caché" par jQuery), la bibliothèque tente de déterminer sa hauteur.

Pour ce faire, jQuery applique temporairement les propriétés suivantes à l'élément :

  • position : "absolue"
  • visibilité : "cachée"
  • affichage : "bloc"

Il récupère ensuite la hauteur en utilisantgetWidthOrHeight(... ), qui ajoute une bordure/un remplissage si nécessaire et restaure les propriétés d'origine.

Essentiellement, jQuery affiche discrètement l'élément خارج حدود تدفق المستند, obtient sa hauteur, puis le cache à nouveau. Cela se produit avant que le thread de l'interface utilisateur puisse être mis à jour, de sorte que l'utilisateur n'est pas au courant du processus.

Ce mécanisme permet à .height()/.width() de fonctionner même sur des éléments masqués, à condition que leurs éléments parents soient visibles. Par conséquent, vous pouvez invoquer .height()/.width() sans effectuer manuellement la séquence afficher/masquer, car elle est gérée en interne par ces méthodes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal