Wie kann man die gerenderte Höhe eines Elements ermitteln?

Wie kann man die gerenderte Höhe eines Elements ermitteln?

Nehmen wir an, Sie haben ein `

-Element mit etwas Inhalt darin. Dieser Inhalt wird die Höhe des "div"-Elements dehnen. Wie erhält man die "gerenderte" Höhe, wenn man die Höhe nicht explizit festgelegt hat. Offensichtlich habe ich es versucht:

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

Gibt es einen Trick, um dies zu tun? Ich verwende jQuery, falls das hilft.

Versuchen Sie eines von:

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

clientHeight beinhaltet die Höhe und die vertikale Auffüllung.

OffsetHeight" umfasst die Höhe, die vertikale Auffüllung und die vertikalen Ränder.

scrollHeight" umfasst die Höhe des enthaltenen Dokuments (im Falle eines Bildlaufs wäre sie größer als die Höhe), die vertikale Auffüllung und die vertikalen Ränder.

Kommentare (6)
Lösung

Es sollte einfach sein

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

mit jQuery. Dies ruft die Höhe des ersten Elements in der umschlossenen Menge als Zahl ab.

Der Versuch, die

.style.height

funktioniert nur, wenn Sie die Eigenschaft überhaupt erst einmal festgelegt haben. Nicht sehr nützlich!

Kommentare (8)

Haben Sie die Höhe in der css speziell eingestellt? Wenn nicht, müssen Sie offsetHeight statt height verwenden.

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