J'essayais d'obtenir une liste de la valeur de la hauteur de l'élément, mais il revenait 0.
J'ai fait des recherches et j'ai vu que pour obtenir la hauteur d'un élément, cet élément doit être visible.
Mais je veux vérifier sa hauteur quand elle est cachée. Si sa hauteur est plus grande que certaines valeurs, utilisez certaines fonctions, faites-la rendre visible. Y a-t-il un moyen de faire cela? P>
Je veux dire: p>
3 Réponses :
Un moyen est de cloner l'objet, de positionner le clone loin à l'extérieur de la fenêtre, rendez-la visible, mesurez le clone, puis détruisez-le.
Vous avez donc: P>
$('#maybe') .clone() .attr('id','maybe_clone') // prevent id collision .css({ // position far outside viewport 'position': 'absolute', 'left': '-1000px' }); if( $('#maybe_clone').show().height() > 200 ) { $('#maybe').show(); } $('#maybe_clone').remove(); // housekeeping
+1, cela ou temporairement positionner absolument et déplacer l'élément lui-même. Étant donné que l'élément est caché pour commencer, il ne perturbera pas le balisage.
Si Affichage: Aucun code> est appliqué à un élément parent, cela ne fonctionnera pas. Un correctif injecterait le clone à l'extérieur de son parent d'origine:
.clone (). APPENDTO ('Corps') Code>.
merci de me donner un indice pour calculer la hauteur de div cachée
Vous pouvez montrer code> l'élément Obtenez la hauteur, puis la masque, vous ne verrez visuellement aucune différence.
Je pensais montrer un élément puis cacher cela causera un problème visuel, mais je le teste maintenant. Oui, ça ne fait aucun problème. Merci pour l'aide.
Mais si vous regardez ma réponse, vous verrez que vous n'avez pas besoin de le faire.
@Alienwebguy - IE6 donne 0 si l'élément est caché.
Cela semble que ça marche..Je aussi pensait que cela scintille mais ce n'est pas le cas.
Positionnez l'objet afin qu'il soit visible pour le navigateur, mais pas l'utilisateur: jQuery: obtenir la hauteur de l'élément caché à JQuery < / a> p>
Dupliqué exact de Stackoverflow.com/Questtions/2345784/...
Il fonctionne avec des éléments cachés - jsfiddle.net/xgbev
@ken Redler: C'est la meilleure solution que j'ai trouvée à ce sujet. Je viens de devoir utiliser .append to («corps») parce que cela n'a pas fonctionné avec .Show ()