Je suis dans une telle situation que je dois régler la hauteur d'un div dépend de la quantité de contenu qu'il contient, je ne peux pas donner une min-height
minimale. Je sais que nous pouvons calculer la hauteur de div par:
$ ("# Divid"). Height ();
Il y a donc une façon de calculer la hauteur d'un div sans avoir un paramètre de hauteur et de donner une hauteur à ce div en fonction de la quantité de contenu.
J'espère que je l'ai expliqué clairement.
Merci
Tout comme vous l'avez dit, avec .height()
, il n'est pas nécessaire d'avoir une hauteur réelle définie pour être utilisée. Voici un jsfiddle qui le montre en action: http://jsfiddle.net/nWb5j/
Votre libellé est un peu déroutant, mais je pense que vous demandez comment calculer la taille du contenu dans un div, même si le div a une hauteur différente appliquée. Pour cela, vous pouvez utiliser le scrollHeight de l'élément.
$('#divid')[0].scrollHeight
Si vous voulez simplement savoir comment calculer la hauteur d'un élément même s'il n'a pas d'attribut / style de taille, vous pouvez simplement utiliser ce que vous avez écrit dans la question. .height()
calcule la hauteur de l'élément directement à partir des valeurs rendues par le navigateur, et non des attributs spécifiques.
JQuery calcule la hauteur, en utilisant .height()
, même s'il n'y a pas de réglage de hauteur (via CSS ou autrement) sur l'élément.
Vous avez deux façons de le faire:
$("#parent").height($("#child").outerHeight(true)); //-----------------------------^^^^^^^^^^^--^^^^-----outerHeight(true) will give //---------------------------------------------------you the total height //---------------------------------------------------including top bottom margins
Plus d'info .outerHeight: http://api.jquery.com/outerHeight/
Et si votre html est:
<div style="height:450px;"></div>
Alors vous pouvez l'utiliser pour obtenir la hauteur:
$("#parent").css('height'); // this will give you the 450px