У меня есть веб-страница с темой css. Когда я нажимаю кнопку, тема меняется на другой файл, но по мере того, как я пытаюсь использовать некоторые новые свойства темы, я вижу, что они все еще не обновляются в элементах.JQuery динамически меняет тему CSS - принудительно обновляет класс?
The CSS файлы довольно просты:
red.css
.square{ background-color:red; }
blue.css
.square{ background-color:blue; }
index.html файл:
<link rel="stylesheet" id="theme" href="red.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<div id="mydiv" class="square" style="width:100px; height:100px;"></div>
<button id="mybutton">Change Theme!</button>
<script>
$('#mybutton').on('click', function(){
console.log($('.square').css("background-color"));
$('#theme').attr('href', 'blue.css');
console.log($('.square').css("background-color"));
alert('When this alert runs, square will still be red, even though the css file has already been switched');
});
</script>
Этот пример доступно здесь: http://herofocus.com/temp/
Есть ли способ принудительно обновить DOM, чтобы при запуске Alert эта тема изменилась?
Хорошо, когда я нажал кнопку, я вижу, что цвет мгновенно изменился! что вы хотите, чтобы он работал как ? –
Я использую хром .. когда появляется предупреждение, цвет по-прежнему краснеет. Я хочу, чтобы он обновлялся до синего, прежде чем появится предупреждение – raphadko