Javascript 累积css规则

Javascript 累积css规则,javascript,css,Javascript,Css,我正在尝试编写一个javascript代码来加载几个css文件。 但link元素并没有onload事件,这就是为什么我在文档中附加了一些额外的元素,它告诉我是否已经加载了css文件。 我想知道是否有可能为我所有的css文件和相同的css规则只添加一个元素 换句话说,css中是否存在累积规则,即每次应用于dom元素的效果都会发生变化(我的意思是,效果取决于应用此规则的次数)?否,没有此类累积规则。您可以多次添加一个类,但是元素看起来就像您添加了一次一样 如果您想控制加载,可以使用ajax将css文

我正在尝试编写一个javascript代码来加载几个css文件。 但link元素并没有onload事件,这就是为什么我在文档中附加了一些额外的元素,它告诉我是否已经加载了css文件。 我想知道是否有可能为我所有的css文件和相同的css规则只添加一个元素


换句话说,css中是否存在累积规则,即每次应用于dom元素的效果都会发生变化(我的意思是,效果取决于应用此规则的次数)?

否,没有此类累积规则。您可以多次添加一个类,但是元素看起来就像您添加了一次一样

如果您想控制加载,可以使用ajax将css文件直接加载到页面中。如果完成,ajax请求将给出响应。现在您可以将css插入到文档中,它将立即应用

使用jQuery可以

$.ajax({
    url: 'url/to.css',
    dataType: text,
    method: 'POST',
    success: function(data) {
        $('body').append('<style>' + data + '</style>');
        // some more code as the css is in the page
    }
});
$.ajax({
url:'url/to.css',
数据类型:文本,
方法:“POST”,
成功:功能(数据){
$('body')。追加(''+数据+'');
//更多的代码,因为css在页面中
}
});

希望这能有所帮助。

这只适用于内联css,而不适用于外部样式表。这将告诉您css何时完全由服务器发送,但不会告诉您css何时被解析和应用,是吗?@jeroen:外部css文件将由ajax加载并作为内联css插入。没问题,还是我错了@SDLEIHSIRCH:所有浏览器都会立即应用这些样式。我想不会,我最初考虑的是缓存,但这不会有什么区别。我想我只是对内联css有点反感,但我从未尝试过+1我尝试了一个包含7000多行CSS文件的快速示例,然后比较
getComputedStyle
s。出于某种原因,一旦CSS被JS内联,
getComputedStyle
似乎被破坏了。。。至少是铬的。但是在试图强迫它工作的过程中,看起来CSS被立即应用了。@sdleihsirhc我需要给自己弄一本字典…@jeroen你可以用谷歌
定义:grody
;它会告诉你:“肮脏、肮脏、恶心、肮脏、恶心、恶心、恶心、怪诞”@sdleihssirch我就是这么做的:)