54 votes

Comment supprimer dynamiquement une feuille de style de la page en cours ?

Existe-t-il un moyen de supprimer dynamiquement la feuille de style actuelle de la page ?

Par exemple, si une page contient :

<link rel="stylesheet" type="text/css" href="http://..." />

...existe-t-il un moyen de le désactiver ultérieurement avec JavaScript ? Des points supplémentaires pour l'utilisation de jQuery.

3voto

Cela réinitialisera le style de votre page, en supprimant tous les éléments de style. De plus, jQuery n'est pas nécessaire.

Array.prototype.forEach.call(document.querySelectorAll('style,[rel="stylesheet"],[type="text/css"]'), function(element){
  try{
    element.parentNode.removeChild(element)
  }catch(err){}
});

1voto

DarckBlezzer Points 1692

C'est pour désactiver tout <style> à partir de html

// this disable all style of the website...
var cant = document.styleSheets.length
for(var i=0;i<cant;i++){
    document.styleSheets[i].disabled=true;
}

//this is the same disable all stylesheets
Array.prototype.forEach.call(document.styleSheets, function(element){
  try{
    element.disabled = true;
  }catch(err){}
});

1voto

jrgermain Points 1

Pour développer La réponse de Damien le test (qui renvoie la méthode true ou false ) conviendrait probablement mieux que search et est légèrement plus rapide. L'utilisation de cette méthode donnerait :

for (var i = 0; i < document.styleSheets.length; i++) {
    if (/searchRegex/.test(document.styleSheets[i].href)) {
        document.styleSheets[i].disabled = true;
    }
}

Si vous ne vous préoccupez pas du support d'IE, cela peut être nettoyé avec une boucle for...of.

for (const styleSheet of document.styleSheets) {
    if (/searchRegex/.test(styleSheet)) {
        styleSheet.disabled = true;
    }
}

-4voto

AtashG79 Points 1

Supposons que vous souhaitiez supprimer une classe myCssClass, la méthode la plus simple consiste à utiliser element.classList.remove("myCssClass") ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X