我的页面上有几个链接(在 a 内<div id="theme-selector">
),它们允许您更改 CSS 样式表:
$('#theme-selector a').click(function(){
var path = $(this).attr('href');
$('head link').remove();
$('head').append('<link type="text/css" href="'+path+'" rel="stylesheet" />');
return false;
});
现在,在我更改了页面上的样式之后,我想使用以下代码(我在$('head').append
调用之后放置)获取新的背景颜色:
var bgcolor = $('body').css('background-color');
alert(bgcolor);
我认为,问题在于浏览器需要一些时间来下载新样式表,并且有时我会在警报消息中看到旧的背景颜色。是否有一些我可以绑定的事件,只有在页面上加载了所有样式表后才会提醒我?
目前,我能想到的只是使用一个setTimeout(function(){}, 5000);
不太好的,因为如果加载页面上的所有 CSS 需要更长/更短的时间怎么办。
如果我需要澄清任何事情,请告诉我,我可以提供更多代码。