"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 recuperar con precisión la propiedad de visualización de un elemento DOM y por qué la propiedad .style puede devolver cadenas vacías

Cómo recuperar con precisión la propiedad de visualización de un elemento DOM y por qué la propiedad .style puede devolver cadenas vacías

Publicado el 2024-11-04
Navegar:586

How to Accurately Retrieve the Display Property of a DOM Element and Why the .style Property May Return Empty Strings

Recuperar la propiedad de visualización de un elemento DOM: revelar el valor real

El código HTML proporcionado introduce un párrafo y un ancla con visualización diferente estilos. Sin embargo, recuperar estos estilos a través de la propiedad de estilo parece dar como resultado cadenas vacías inesperadas. ¿Por qué es así y cómo se puede recuperar con precisión la propiedad de visualización?

El enigma de la cadena vacía

La confusión inicial surge porque el .estilo.* Las propiedades se asignan directamente al atributo de estilo, no al estilo aplicado. Esto significa que básicamente estás verificando la declaración de estilo en línea, que puede no siempre reflejar el estilo calculado.

La solución: getComputedStyle

Para obtener el estilo aplicado real , incluidas las propiedades heredadas, debe utilizar el método getComputedStyle. Este método toma un elemento DOM como argumento y devuelve un objeto CSSStyleDeclaration que contiene valores de estilo calculados.

El código proporcionado se puede modificar para usar getComputedStyle de la siguiente manera:

var a = (document.getElementById('a'));
alert(getComputedStyle(a).display);
var p = (document.getElementById('p'));
alert(getComputedStyle(p).display);
p.style.display = 'none';
alert(getComputedStyle(p).display);

Ahora, la primera alerta mostrará "ninguno" para la etiqueta de anclaje, la segunda alerta mostrará "bloque" para el elemento de párrafo y la tercera alerta mostrará "ninguno" después de la configuración de visualización intencional. Esto refleja con precisión los estilos de visualización calculados de los elementos.

Enfoque alternativo: alternancia de clases

En lugar de confiar en la propiedad de visualización, podría considerar usar nombres de clases para alternar la visibilidad de los elementos. Al separar la presentación de la lógica, puedes simplificar tu código y hacerlo menos propenso a problemas relacionados con el estilo.

Declaración de liberación Este artículo se reimprime en: 1729379537 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Ú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