Якщо вам потрібно змінити стиль елемента за допомогою JavaScript, зазвичай краще змінити назву класу, і CSS вже на сторінці набуде чинності та змінить стиль. Однак у кожного правила є винятки. Наприклад, вам може знадобитися програмно змінити псевдо-клас (наприклад :hover
). Ви не можете зробити це за допомогою JavaScript з тієї ж причини, що вбудовані style=""
атрибути не можуть змінювати псевдокласи.
Вам потрібно буде ввести новий елемент на сторінку з правильними стилями. Найкраще вводити його внизу сторінки, щоб він перевизначав ваш CSS над ним. Легко з jQuery:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Використання
injectStyles('a:hover ( color: red; )');
Демо
Більше інформації
- Стилі введення примх в IE (Райан Седдон).
- Потік переповнення стека.