http://www.loveyuki.com/Article/Javascript_Load_Style_Elements.aspx
用 Javascript 动态加载一个 CSS 文件的方法很简单,但是如果想要加载一个 CSS STYLE 元素,里面写入一些 CSS 语句就没有那么简单了。不过也难不倒我们,查一查 MSDN 和 Mozilla 的开发网站就可以写出来了,下面的语句兼容了 IE,Firefox,Safari,Opera 没有测试。
1
function
AttachStyle(ownDoc,styCss)
{
2
var elmSty = ownDoc.createElement('STYLE');
3
elmSty.setAttribute("type", "text/css");
4
if (elmSty.styleSheet)
{
5
elmSty.styleSheet.cssText=styCss;
6
} else
{
7
elmSty.appendChild(ownDoc.createTextNode(styCss));
8
}
9
ownDoc.getElementsByTagName("head")[0].appendChild(elmSty);
10
}



2

3

4



5

6



7

8

9

10

这种写法不科学,你认为OO么?而且很不灵活,不适合Ajax异步转载!轻微鄙视一下!
最好使用CSS外部导入法加载!
1
function
AttachStyle()
{
2
this.load=function(URL)
{
3
var css=document.createElement('link');
4
css.type="text/css";
5
css.rel="="stylesheet";
6
css.src=URL;
7
var head=document.getElementsByTagName("head")[0];
8
head.appendChild(css);
9
var self=this;
10
11
css.onload=css.onreadystatechange=function(){
12
if(this.readyState&&this.readyState=="loading") return;
13
self.onsuccess();
14
}
15
css.onerror=function(){
16
head.removeChild();
17
self.onfailure();
18
}
19
}
20
this.onsuccess=function(){}//加载成功事件
21
this.onfailure=function(){}//加载失败事件
22
}
23



2



3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23
