Maison  >  Article  >  interface Web  >  Pourquoi « element.style.display » est-il vide même lorsque j'ai des règles CSS ?

Pourquoi « element.style.display » est-il vide même lorsque j'ai des règles CSS ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-07 01:20:02876parcourir

Why is `element.style.display` Empty Even When I Have CSS Rules?

Pourquoi les propriétés de style CSS restent vides avec getElementById().style

Lorsque vous utilisez getElementById() pour récupérer un élément HTML, accéder à son La propriété style via element.style.display renvoie souvent une valeur vide, malgré la présence d'une règle de style CSS comme #map {display: block}.

Ce comportement se produit car element.style ne reflète que explicitement les styles en ligne. défini sur l'élément dans le document HTML. Si aucun style en ligne n'est défini, element.style sera vide.

Pour accéder au style calculé réel d'un élément, qui intègre à la fois les styles en ligne et les règles CSS, utilisez la méthode window.getComputedStyle(). Cette méthode fournit un objet Style représentant le style complet appliqué à l'élément.

Par exemple, invoquer console.log(window.getComputedStyle(document.getElementById('test')).display) affichera "block, " reflétant la règle #map {display: block}.

Bien que le style en ligne soit généralement déconseillé en faveur du CSS, comprendre la distinction entre element.style et window.getComputedStyle() est crucial pour accéder avec précision aux styles d'éléments dans JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn