Maison > interface Web > tutoriel CSS > Pourquoi « myDiv.style.display » renvoie-t-il une chaîne vide lorsque l'affichage est défini dans une feuille de style principale ?

Pourquoi « myDiv.style.display » renvoie-t-il une chaîne vide lorsque l'affichage est défini dans une feuille de style principale ?

Linda Hamilton
Libérer: 2024-11-06 19:31:02
original
586 Les gens l'ont consulté

Why Does `myDiv.style.display` Return an Empty String When Display Is Set in a Master Stylesheet?

Feuilles de style principales et styles en ligne : compréhension du comportement de la propriété d'affichage

Lors de la tentative de récupération de la propriété d'affichage d'un élément DIV à l'aide de JavaScript, une divergence a été observée. En définissant l'affichage sur aucun en ligne dans l'élément HTML, myDiv.style.display renvoie "aucun" comme prévu. Cependant, définir l'affichage comme aucun dans une feuille de style principale entraîne une chaîne vide lors de l'accès via myDiv.style.display.

Ce comportement est compris en fonction de la manière dont JavaScript fonctionne. Lors de l'accès aux éléments DOM via JavaScript, le style calculé de l'élément ne peut pas être récupéré directement puisqu'il est défini dans le fichier CSS.

Solution : Utiliser getComputedStyle

Pour obtenir Pour déterminer le style calculé et résoudre cet écart, il est nécessaire d'utiliser la propriété getComputedStyle ou currentStyle pour Internet Explorer. Cette propriété récupère la valeur calculée de la propriété de style souhaitée.

Fonction JavaScript pour récupérer le style calculé

function getStyle(id, name) {
  var element = document.getElementById(id);
  return element.currentStyle
    ? element.currentStyle[name]
    : window.getComputedStyle
    ? window.getComputedStyle(element, null).getPropertyValue(name)
    : null;
}
Copier après la connexion

Utilisation

Utilisation de getStyle pour récupérer la propriété d'affichage :

var display = getStyle('myDiv', 'display');
alert(display); //will print 'none' or 'block' or 'inline' etc
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal