Maison > interface Web > tutoriel CSS > Pourquoi « this.style[property] » de JavaScript renvoie-t-il une chaîne vide ?

Pourquoi « this.style[property] » de JavaScript renvoie-t-il une chaîne vide ?

DDD
Libérer: 2024-12-04 03:33:13
original
977 Les gens l'ont consulté

Why Does JavaScript's `this.style[property]` Return an Empty String?

this.style[property] de JavaScript renvoie une chaîne vide : découverte de la cause et de la solution

Lors de l'accès à this.style[property] propriété en JavaScript, vous pouvez rencontrer des situations dans lesquelles elle récupère une chaîne vide au lieu de la valeur attendue. Cela peut être déroutant, surtout si vous essayez de récupérer des propriétés de style qui ont été définies.

Comprendre le problème

this.style[property] est conçu pour accéder aux styles qui ont été directement attribués à l'élément dans son code HTML ou via des styles en ligne. Si la propriété demandée n'a pas été explicitement définie pour l'élément, this.style[property] renverra une chaîne vide.

Le cas des styles en cascade

Souvent, les styles des éléments sont définis dans des feuilles de style CSS. Ces styles sont en cascade, ce qui signifie qu'ils sont hérités et remplacés en fonction de règles spécifiques. Lorsqu'un élément correspond à plusieurs règles de feuille de style, la règle la plus spécifique est prioritaire.

Dans l'exemple fourni, l'élément #test a deux styles définis dans la feuille de style : height : 100px ; et largeur : 100px ;. Cependant, l'élément a également un style d'arrière-plan en ligne : #CCC ;, qui remplace la règle de feuille de style #test pour l'arrière-plan.

En raison de la nature en cascade du CSS, this.style[width] et this.style [height] récupérera les chaînes vides, car ces propriétés ont été définies dans la feuille de style mais remplacées par le style en ligne.

La solution : getComputedStyle()

Pour récupérer la valeur effective de la propriété de style, qui inclut les styles en cascade, vous pouvez utiliser la méthode getComputedStyle() :

const myElement = document.getElementById('myId');
const style = getComputedStyle(myElement);
console.log(style.height); // "100px"
Copier après la connexion

getComputedStyle() renvoie un objet qui représente le style calculé de l'élément spécifié, en tenant compte de tous les styles appliqués, y compris les propriétés héritées et remplacées.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal