Bueno, no puede hacerlo de esa manera, pero es posible cuando se añade un elemento interior de su contenedor, así:
<div id="element" style="height: 20px; overflow: hidden;">
<p id="innerElement"> <!-- notice this inner element -->
content<br />content<br />content<br />
content<br />content<br />content<br />
content<br />content<br />content<br />
</p>
</div>
sidenote: contenido de envoltura interior de los párrafos es una buena práctica también, además de que un elemento extra no está dando que gran parte de los problemas, o ninguna en absoluto ...
y JavaScript:
var innerHeight = document.getElementById('innerElement').offsetHeight;
alert(innerHeight);
P.S. Para que este JavaScript funcione, colóquelo después de su div #element
, porque JavaScript plano se ejecuta antes de que DOM esté listo si no se le indica que lo haga. Para que esto funcione cuando DOM esté listo, check this.
Pero sugiero que obtenga jQuery, será útil más adelante si va a extender las operaciones de JavaScript en su sitio.
Además, jQuery es el poder, de verdad!
De esta manera, sólo tiene que añadir este script a su <head />
(suponiendo que ha incluido jQuery):
$(document).ready(function() {
var innerHeight = $('#innerElement').height();
alert(innerHeight);
});
Example @jsFiddle using jQuery way!
para cualquiera que busque el mejor enfoque omita la respuesta aceptada y pruebe la respuesta @Colt. –
Excepto que la respuesta usa jQuery, y esta pregunta no preguntó nada sobre jQuery. – L0j1k
Creo que el punto estaba en el uso de 'scrollHeight' ... no en el * jQuery * – Giraldi