Да, вы можете обновить новый стиль-лист по обновление <link>
и appedning его к <head>
следующим образом:
$('<link/>', {rel: 'stylesheet', href: 'style1.css'}).appendTo('head');
См plunkr
Здесь h1
имеет color:red
, который изменяет к green
как стиль-листа источника изменяется от style.css
к style1.css
по нажатию на кнопку change style
,
Вот HTML код:
<html>
<head>
<link rel="stylesheet" href="style.css">
<script data-require="jquery" data-semver="2.2.0" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>
<a class="clickToStyle">change Style</a>
</body>
</html>
имеет style.css как оригинальный CSS.
В JS:
$(document).on('click','.clickToStyle',function(){
$('<link/>', {rel: 'stylesheet', href: 'style1.css'}).appendTo('head');
})
Источник стилей заменяется style1.css и, следовательно, новые стили получить применяется.
даже он работает, вам нужно перезагрузить, чтобы применить новый CSS!и это не правильный способ изменения css! – Pedram
@jiff, 'reload'? Перезагрузка перезагружает 'css' Я думаю! – Rayon
При нажатии вы хотите изменить свою таблицу стилей, не так ли? браузер, как обнаружить, должен обновлять ваши стили? – Pedram