【发布时间】:2015-04-26 19:59:15
【问题描述】:
我有一个带有 css 主题的网页。当我单击一个按钮时,主题会更改为另一个文件,但当我尝试使用一些新的主题属性时,我发现它们仍未在元素中更新。
css 文件非常简单:
red.css
.square{ background-color:red; }
蓝色.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 运行时,主题就已经改变了?
【问题讨论】:
-
当我点击按钮时,我看到颜色立即改变了!你希望它如何工作?
-
我正在使用 chrome.. 当警报弹出时,颜色仍然是红色.. 我希望它在警报弹出之前更新为蓝色
标签: javascript jquery css dom