Maison > interface Web > tutoriel CSS > le corps du texte

JavaScript peut-il accéder aux valeurs des propriétés CSS invalides ?

DDD
Libérer: 2024-10-24 07:16:30
original
665 Les gens l'ont consulté

Can JavaScript Access Values of Invalid CSS Properties?

JavaScript peut-il récupérer des valeurs de propriété CSS non valides ?

Les propriétés CSS personnalisées, désignées par des noms préfixés par un tiret, offrent un mécanisme pour définir et accéder à des styles uniques dans une application. Cependant, JavaScript peut-il accéder aux valeurs de ces propriétés personnalisées si elles sont invalides ou non reconnues par le navigateur ?

Explication

L'objet CSSStyleDeclaration expose les propriétés de style de un élément en JavaScript. Lorsqu'il rencontre un nom de propriété non valide, tel que "-my-foo", cet objet ignore généralement la propriété et passe à d'autres propriétés valides.

La spécification de style DOM-Level-2 suggère que toutes les propriétés CSS au sein d'un Le bloc de déclaration doit être accessible via l'interface CSSStyleDeclaration, y compris celles non valides. Cependant, dans la pratique, les navigateurs comme Chrome et Firefox ne prennent pas en charge ce comportement.

Malgré l'absence d'accès JavaScript direct aux valeurs des propriétés CSS non valides, une approche alternative consiste à analyser le texte CSS brut. En extrayant les propriétés de style de l'élément de style correspondant, vous pouvez identifier et récupérer manuellement la valeur d'une propriété personnalisée, même si elle n'est pas valide.

Exemple de code

Le le code suivant montre comment analyser le texte CSS brut et récupérer la valeur de la propriété "-my-foo" :

const styleText = document.getElementsByTagName("style")[0].innerText;
const propertyName = "-my-foo";

const value = styleText.match(new RegExp(`\b${propertyName}:\s*(.+?)\b`, "i"))[1];
Copier après la connexion

Remarque : Cette approche nécessite une expression régulière pour correspondre au nom de la propriété personnalisée et extrayez sa valeur. Elle est considérée comme une solution de bas niveau et n'est peut-être pas la méthode la plus efficace ou la plus appropriée pour tous les scénarios.

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
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