Ако трябва да промените стила на елемент с JavaScript, обикновено е по-добре да промените името на класа и CSS вече на страницата да влезе в сила и да промени стила. Има обаче изключения от всяко правило. Например, може да искате да промените програмно псевдокласа (например :hover
). Не можете да направите това чрез JavaScript по същата причина, style=""
атрибутите вградени не могат да променят псевдо класовете.
Ще трябва да инжектирате нов елемент на страницата с правилните стилове в нея. Най-добре е да го инжектирате в долната част на страницата, така че да замени вашия CSS над него. Лесно с jQuery:
function injectStyles(rule) ( var div = $(" ", ( html: '-' + rule + '' )).appendTo("body"); )
Употреба
injectStyles('a:hover ( color: red; )');
Демонстрация
Повече информация
- Инжектирането на стила е странно в IE (Ryan Seddon).
- Нишка за препълване на стека.