Maison > interface Web > tutoriel CSS > Comment supprimer ou remplacer correctement une feuille de style par JavaScript ?

Comment supprimer ou remplacer correctement une feuille de style par JavaScript ?

Barbara Streisand
Libérer: 2024-12-13 15:02:10
original
948 Les gens l'ont consulté

How to Properly Remove or Replace a Stylesheet with JavaScript?

Suppression ou remplacement d'une feuille de style () avec JavaScript/jQuery

Dans le but de supprimer une feuille de style d'une page Web dynamiquement, vous avez essayé d'utiliser le code jQuery suivant :

$('link[title="mystyle"]').remove();
Copier après la connexion

Alors que ce code supprime l'élément de lien depuis le DOM, les styles définis dans la feuille de style restent appliqués à la page. Ce comportement se produit à la fois dans Opera et Firefox.

Pour réussir à supprimer ou remplacer une feuille de style à l'aide de JavaScript, vous devez comprendre les mécanismes de mise en cache du navigateur pour les fichiers CSS. Les navigateurs mettent en cache les styles CSS en mémoire, ce qui signifie que même après avoir supprimé l'élément de feuille de style du DOM, les styles peuvent toujours être appliqués.

Pour résoudre ce problème :

Pour les compatibilité du navigateur, désactivez la feuille de style au lieu de la supprimer :

document.styleSheets[0].disabled = true;
Copier après la connexion

Utilisation jQuery :

$('link[title=mystyle]')[0].disabled=true;
Copier après la connexion

En désactivant la feuille de style, elle est marquée comme inactive et le navigateur cesse d'appliquer les styles définis dans cette feuille de style. Cette approche fonctionne de manière cohérente sur les principaux navigateurs, y compris Internet Explorer.

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