Maison > interface Web > tutoriel CSS > Comment puis-je analyser efficacement le CSS en JavaScript à l'aide du CSSOM ?

Comment puis-je analyser efficacement le CSS en JavaScript à l'aide du CSSOM ?

Mary-Kate Olsen
Libérer: 2024-11-26 13:52:18
original
970 Les gens l'ont consulté

How Can I Efficiently Parse CSS in JavaScript Using the CSSOM?

Analyse CSS en JavaScript / jQuery

Pour analyser CSS en JavaScript, vous pouvez exploiter l'interface CSSOM intégrée du navigateur. Cela élimine le besoin de bibliothèques personnalisées et fournit un moyen standardisé d'accéder aux données CSS.

JavaScript pour récupérer les règles CSS, directement depuis CSSOM :

var rulesForCssText = function (styleContent) {
    var doc = document.implementation.createHTMLDocument(""),
        styleElement = document.createElement("style");

    styleElement.textContent = styleContent;
    // the style will only be parsed once it is added to a document
    doc.body.appendChild(styleElement);

    return styleElement.sheet.cssRules;
};
Copier après la connexion

Chaque règle CSS renvoyée par RulesForCssText peut être inspecté plus en détail à l'aide de Rule.style, qui donne accès aux propriétés CSS individuelles.

Par exemple, considérez le CSS :

a {
  color: red;
}
Copier après la connexion

En utilisant RulesForCssText, vous pouvez récupérer la règle pour le style "a" et accéder à ses propriétés :

const rules = rulesForCssText('a { color: red; }');
const aRule = rules[0];
console.log(aRule.selectorText); // Outputs: "a"
console.log(aRule.style.color); // Outputs: "red"
Copier après la connexion

Cette approche alternative résout le problème rencontré dans votre analyse personnalisée. implémentation, car elle ne repose pas sur le fractionnement manuel des chaînes ni sur la gestion de cas particuliers tels que les URI dans les valeurs de propriété.

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