样式表更改后做一些事情

时间:2014-04-10 12:30:02

标签: javascript jquery

假设这个css样式表:

template.css

p{color: red; margin: 0; padding: 10px;}
div{background: red; color: white;}
/*.....
and a lot of stylesheet rules
*/

现在有一段时间后我会更改为template.css规则

p{color: red; margin: 0; padding: 10px;}
div{background: red; color: blue;}/* modified previous rules too*/
/*.....
and a lot of stylesheet rules
....
added stylesheet rules*/

现在问题从这里开始:

我想检查我的样式表是否已更改:

var storedss = 0; //0 represents not changed (false)

//if stylesheet has been changed from previous state of stylesheet ??? 
//how to check ????

storedss = 1; // 1 represents changed (true)

//now perform some action
if(storedss){
//do stuff here


//and at last reset to 0
storedss = 0;
}

这可能吗?

1 个答案:

答案 0 :(得分:-1)

这是不可能的。浏览器将解析CSS文件并应用于DOM节点。因此,我们的javascript没有进行比较/跟踪。

只有当您有意保留所有DOM节点的样式信息的备份副本时,您才可以比较并确定它是否已在某个所需位置进行了修改。

即便如此,除了清除缓存之外我还不知道如何更改缓存。唯一的另一种方法是重新加载页面。