J'ai utilisé la bibliothèque jQuery pour connaître la hauteur d'un div
.
Ci-dessous, mon élément div
avec ses attributs:
<DIV id="myDiv" style="height:auto; width:78;overflow:hidden"> Simple Test</DIV>
Ci-dessous mon code jQuery pour obtenir une hauteur de <div>
var result = $("#myDiv").css('height');
alert(result);
Après avoir exécuté la déclaration ci-dessus, le résultat est "auto". En fait c'est ce que je n'attendais pas, au lieu de cela je veux le résultat en dimension px.
Utilisez .height()
comme ceci:
var result = $("#myDiv").height();
Il y a aussi .innerHeight()
et .outerHeight()
en fonction de exactement ce que tu veux.
Vous pouvez le tester ici , jouez avec le padding/les marges/le contenu pour voir comment cela change.
Bien qu'ils varient légèrement en ce qui concerne la façon dont ils récupèrent une valeur de hauteur, certains calculent l'élément entier, y compris le remplissage, la marge, la barre de défilement, etc., et d'autres calculent simplement l'élément dans sa forme brute.
Vous pouvez essayer ceux-ci:
javascript:
var myDiv = document.getElementById("myDiv");
myDiv.clientHeight;
myDiv.scrollHeight;
myDiv.offsetHeight;
ou en jquery:
$("#myDiv").height();
$("#myDiv").innerHeight();
$("#myDiv").outerHeight();
Utilisez height()
:
var result = $("#myDiv").height();
alert(result);
Cela vous donnera la hauteur calculée en pixels sans unité. "px" sera supprimé du résultat. C'est à dire. si la hauteur est 400px, le résultat sera 400, mais le résultat sera en pixels.
Si vous voulez le faire sans jQuery, vous pouvez utiliser du JavaScript simple:
var result = document.getElementById("myDiv").offsetHeight;
Pour ceux qui recherchent une solution JS simple:
let el = document.querySelector("#myElementId");
// including the element's border
let width = el.offsetWidth;
let height = el.offsetHeight;
// not including the element's border:
let width = el.clientWidth;
let height = el.clientHeight;
Découvrez cet article pour plus de détails.
Il existe une méthode intégrée pour obtenir le rectangle de délimitation: Element.getBoundingClientRect
.
Le résultat est le plus petit rectangle qui contient l’élément entier, avec les valeurs en lecture seule gauche, haut, droit, bas, x, y, largeur et hauteur = propriétés.
Voir l'exemple ci-dessous:
let innerBox = document.getElementById("myDiv").getBoundingClientRect().height;
document.getElementById("data_box").innerHTML = "height: " + innerBox;
body {
margin: 0;
}
.relative {
width: 220px;
height: 180px;
position: relative;
background-color: purple;
}
.absolute {
position: absolute;
top: 30px;
left: 20px;
background-color: orange;
padding: 30px;
overflow: hidden;
}
#myDiv {
margin: 20px;
padding: 10px;
color: red;
font-weight: bold;
background-color: yellow;
}
#data_box {
font: 30px arial, sans-serif;
}
Get height of <mark>myDiv</mark> in px dimension:
<div id="data_box"></div>
<div class="relative">
<div class="absolute">
<div id="myDiv">myDiv</div>
</div>
</div>