Maison > interface Web > tutoriel CSS > le corps du texte

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

Susan Sarandon
Libérer: 2024-10-28 05:23:02
original
721 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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!