Estoy intentando obtener la altura de un elemento en una página. Obtengo el valor esperado (aproximadamente 700px) en FF y Webkit en Mac, pero obtengo un valor de 0 en IE8. No he probado versiones anteriores de IE todavía.jQuery outerHeight devuelve un valor incorrecto IE
html:
<section>
<article>
...
</article>
javascript:
var height = myElement.outerHeight(true);
Hay una serie de cosas que podrían estar complicando esto.
- Estoy intentando medir el elemento de inmediatamente después de que es dinámicamente añade a la página (el elemento es añade como el resultado de una ajax petición),
- el elemento que estoy tratando de La medida es un elemento html5 (sección).
Una cosa que he notado es que los elementos html5 insertados están mal formateados cuando se ven usando herramientas de desarrollador. Obtengo cosas como </article/>
. Todo lo que era parte de la página cuando se carga se ve bien.
Algunas cosas que he intentado en el intento de resolver el problema:
- He añadido CSS para aplicar display: block a todos los elementos de HTML5
- que he añadido de Remy Sharp "html5 permitiendo la escritura" (http://remysharp.com/2009/01/07/html5-enabling-script/)
- estoy usando
- he intentado usar todos los divs en lugar de elementos HTML5
myElement.height()
devuelve un valor de 'auto' en IE8 mientras que en otros navegadores obtengo un valor de píxel.innerHeight()
devuelvenull
.
Gracias
Excelente. Innershiv hace el truco. Tal vez estoy siendo terco, pero realmente quiero que HTML5 funcione aquí. Gracias. – smabbott
Respuesta muy completa. Gracias Bobince. – zlovelady