惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
G
Google Developers Blog
D
Docker
The GitHub Blog
The GitHub Blog
H
Help Net Security
WordPress大学
WordPress大学
博客园_首页
Recent Announcements
Recent Announcements
P
Proofpoint News Feed
罗磊的独立博客
I
InfoQ
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Visual Studio Blog
Jina AI
Jina AI
J
Java Code Geeks
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
DataBreaches.Net
Google DeepMind News
Google DeepMind News

博客园 - sharewind

zookeepr 单机伪集群配置 Java泛型通配符extends与super 简单介绍相册网站的架构 DOS:先进入 bat 文件的路径,然后执行 bat 文件,然后回到当前目录收藏 (转载)简洁、明晰!数据库设计三大范式应用实例剖析 (转载)tomcat5下jsp出现getOutputStream() has already been called for this 解决eclipse+myeclipse的Processing Dirty Regions错误 Eclipse格式化代码时不换行 与 自动换行 JavaScript笔记 - 对象继承的几种方式 (转载)oracle 10g 安装完成后,无法登陆EM的解决办法 VS 2008 下载及序列号 摄像机 碰撞检测 Windows系统必备的30个免费开源软件 (转载) VC常见数据类型转换详解 java中关于时间日期操作的常用函数 How To Connect to a SQL Server 2000 Named Instance with JDBC JavaScript对象与数组参考大全 SQL Server数据库开发的二十一条军规 数据库经典文章!(必备)
Javascript 动态加载 CSS STYLE 元素
sharewind · 2008-10-05 · via 博客园 - sharewind
  • 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}
     

    这种写法不科学,你认为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