Je ne suis pas en mesure d'injecter un style avec de “!important” règle
J'ai essayé d'injecter un style à l'aide de ce code:
document.body.style.color='green!important';
Par la cascade CSS ref, par l'application de la !important
règle que je peut l'emporter sur l'origine et la spécificité.
J'ai essayé d'injecter ce à l'aide de Firefox Firebug dans www.google.com cependant, pas de chance.
Comment puis-je injecter une couleur de premier plan avec un !important
règle?
- Avez-vous essayé avec un espace ?
document.body.style.color = "green !important";
Vous devez vous connecter pour publier un commentaire.
Par la spec, si vous souhaitez définir la priorité, non seulement la valeur, vous devez utiliser
setProperty
, comme suit:!important
peut légalement apparaissent dans inline déclarations de style.setAttribute
devrait fonctionner pour vous.
element.style.cssText += ';color: green !important;'
et vous êtes en sécurité sur les navigateurs qui prennent en chargecssText
propriété! 🙂... += ...
) donné par @guari fonctionne, mais seulement dans la mise à niveau de la priorité d'un style "!important". Déclassement de la '!important", d'autre part, ne va pas. c'est à direelement.style.cssText += 'color:blue'
, ne va pas toutelement.style.cssText += 'color:blue !important'
fonctionne.toutes les réponses sont grands, mais ils ont tous assumé la
value
de l'attribut estfixed
, si pasjeter un regard à ma solution
au lieu de
hand writing
la valeur, je l'ai eu à l'aide de jquery$(this).css('attr')
Je voudrais poser et qu'il ne peut pas travailler non pas tant en raison d'une erreur dans le code (à l'exception de l'espace), mais plus parce que la modification de la balise body n'est pas assez précis de l'élément, de la classe, ou qu'avez-vous à créer l'effet désiré.
Comme par exemple le texte de la page de résultat de recherche a une classe de "saint".
tous les résultats de recherche sont chaque encapsulé dans un
<li>
la balise.
Donc un peu de code pour un tel effet pourrait ressembler à ceci:
Utiliser seulement ceci:
vous ne pouvez pas utiliser importants de cette façon. De toute façon comme Fatale souligné, cela ne fonctionnera pas, quand il est directement règle importante dans la feuille de style css, que vous avez besoin pour remplacer.
De cette façon, vous avez à dynamicaly créer la feuille de style et d'annonces à l'intérieur de la tête:
Ensuite, vous pouvez mettre à jour le style juste comme ça
<body id="illwin" style="color:green;"> This is a test! </body>
CSS:#illwin { color: red !important; }
Cela se traduira dans le texte en rouge. jsfiddle.net/C6zH2style.cssText est la seule façon d'ajouter de la !important.