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
Barbara Streisandoriginal
2024-12-13 15:02:10950parcourir

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();

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;

Utilisation jQuery :

$('link[title=mystyle]')[0].disabled=true;

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!

Déclaration:
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