"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo obtener la altura de los elementos ocultos en jQuery de manera eficiente?

¿Cómo obtener la altura de los elementos ocultos en jQuery de manera eficiente?

Publicado el 2024-11-05
Navegar:167

How to Get the Height of Hidden Elements in jQuery Efficiently?

Obtener la altura de los elementos ocultos en jQuery

Cuando se trata de elementos ocultos, recuperar su altura puede ser un desafío. El enfoque convencional de mostrar temporalmente el elemento para medir su altura y luego ocultarlo nuevamente parece ineficaz. ¿Existe una solución más óptima?

Enfoque jQuery 1.4.2

Aquí hay un ejemplo usando jQuery 1.4.2:

$select.show();
optionHeight = $firstOption.height(); // Obtain height after displaying the element
$select.hide();

Este método tiene la desventaja de cambiar la visibilidad del elemento, lo que puede causar efectos secundarios no deseados.

Hackear el estilo del elemento

Un enfoque alternativo es manipular el estilo del elemento para hacerlo invisible mientras se calcula su altura:

var previousCss = $("#myDiv").attr("style"); // Store the original style

// Set visibility to 'hidden' and display to 'block'
$("#myDiv").css({
    position: 'absolute', // Optional if the element is already absolute
    visibility: 'hidden',
    display: 'block'
});

optionHeight = $("#myDiv").height(); // Measure height with modified visibility

// Restore the original style
$("#myDiv").attr("style", previousCss ? previousCss : "");
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3