"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment obtenir efficacement la hauteur des éléments cachés dans jQuery ?

Comment obtenir efficacement la hauteur des éléments cachés dans jQuery ?

Publié le 2024-11-05
Parcourir:310

How to Get the Height of Hidden Elements in jQuery Efficiently?

Obtention de la hauteur des éléments cachés dans jQuery

Lorsqu'il s'agit d'éléments cachés, récupérer leur hauteur peut être difficile. L’approche conventionnelle consistant à afficher temporairement l’élément pour mesurer sa hauteur puis à le masquer à nouveau semble inefficace. Existe-t-il une solution plus optimale ?

Approche jQuery 1.4.2

Voici un exemple utilisant jQuery 1.4.2 :

$select.show();
optionHeight = $firstOption.height(); // Obtain height after displaying the element
$select.hide();

Cette méthode présente l'inconvénient de modifier la visibilité de l'élément, ce qui peut provoquer des effets secondaires indésirables.

Piratage du style de l'élément

Une approche alternative consiste à manipuler le style de l'élément pour le rendre invisible lors du calcul de sa hauteur :

var previousCss = $("#myDiv").attr("style"); // Store the original style

// Set visibility to 'hidden' and display to 'block'
$("#myDiv").css({
    position: 'absolute', // Optional if the element is already absolute
    visibility: 'hidden',
    display: 'block'
});

optionHeight = $("#myDiv").height(); // Measure height with modified visibility

// Restore the original style
$("#myDiv").attr("style", previousCss ? previousCss : "");
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3