Hoe krijg je de rendered hoogte van een element?

Hoe krijg je de rendered hoogte van een element?

Laten we zeggen dat je een <div> element hebt met wat inhoud erin. Deze inhoud binnenin gaat de hoogte van de <div> oprekken. Hoe krijg je de "rendered" hoogte als je'niet expliciet de hoogte hebt ingesteld. Uiteraard heb ik het geprobeerd:

var h = document.getElementById('someDiv').style.height;

Is er een truc om dit te doen? Ik gebruik jQuery als dat helpt.

Probeer een van:

var h = document.getElementById('someDiv').clientHeight;
var h = document.getElementById('someDiv').offsetHeight;
var h = document.getElementById('someDiv').scrollHeight;

clientHeight bevat de hoogte en verticale padding.

offsetHeight omvat de hoogte, verticale vulling, en verticale randen.

scrollHeight omvat de hoogte van het opgenomen document (groter dan alleen de hoogte in geval van scrollen), verticale vulling, en verticale randen.

Commentaren (6)
Oplossing

Het zou gewoon

$('#someDiv').height();

met jQuery. Dit haalt de hoogte van het eerste item in de wrapped set op als een getal.

Proberen te gebruiken

.style.height

werkt alleen als je de eigenschap in de eerste plaats hebt ingesteld. Niet erg nuttig!

Commentaren (8)

Heb je de hoogte specifiek in de css ingesteld? Als dat niet zo is, moet je offsetHeight gebruiken in plaats van height.

var h = document.getElementById('someDiv').style.offsetHeight;
Commentaren (1)