Wenn Sie den Stil eines Elements mit JavaScript ändern müssen, ist es normalerweise besser, einen Klassennamen zu ändern und das CSS bereits auf der Seite wirksam werden zu lassen und den Stil zu ändern. Es gibt jedoch Ausnahmen zu jeder Regel. Beispielsweise möchten Sie möglicherweise die Pseudoklasse programmgesteuert ändern (z :hover
. B. ). Sie können dies aus demselben Grund nicht über JavaScript tun. Inline- style=""
Attribute können Pseudoklassen nicht ändern.
Sie müssen der Seite ein neues Element mit den richtigen Stilen hinzufügen. Am besten fügen Sie es unten auf der Seite ein, damit es Ihr CSS darüber überschreibt. Einfach mit jQuery:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Verwendung
injectStyles('a:hover ( color: red; )');
Demo
Mehr Informationen
- Style Injection Macken in IE (Ryan Seddon).
- Stapelüberlaufgewinde.