使用JavaScript动态加载外部CSS文件

时间:2010-01-20 07:35:06

标签: javascript css

  

可能重复:
  Dynamically loading an external CSS file

我正在尝试使用外部.css页面创建动态页面,页面颜色将会更改。以下是我的代码。但是当我点击href时,我没有得到任何输出。任何人都可以告诉我的代码中的问题是什么?任何建议或想法请。

<script language="JavaScript">
function loadjscssfile(filename, filetype)
{
    if (filetype=="css")
    { 
        var fileref=document.createElement("link")
        fileref.setAttribute("rel", "stylesheet")
        fileref.setAttribute("type", "text/css")
        fileref.setAttribute("href", filename)
    }
    if (typeof fileref!="undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref)
}

loadjscssfile("mystyle.css", "css") 
</script>
<a href="javascript:loadjscssfile('oldstyle.css','css')">Load "oldstyle.css"</a> 

我修改了我的代码,如下所示。我仍然面临着获得输出的问题。没有结果。有人可以帮帮我吗?

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="css/newstyle.css" />
<script language="JavaScript" type="text/javascript">
function loadjscssfile(filename, filetype)
{
    if (filetype=="css") 
    {
        var fileref = document.createElement("link");
        fileref.rel = "stylesheet";
        fileref.type = "text/css";
        fileref.href = "filename";
        document.getElementsByTagName("head")[0].appendChild(fileref)
    }
}
loadjscssfile("oldstyle.css", "css") 
</script>
<a href="javascript:loadjscssfile('oldstyle.css','css')">Load "oldstyle.css"</a> 
</head>

2 个答案:

答案 0 :(得分:1)

如果要在某个实例(单击)上切换网站样式,而不刷新页面,则需要同时使用JS和cookie。

可能会在链接下方提供帮助:

http://www.dynamicdrive.com/dynamicindex9/stylesheetswitcher.htm

答案 1 :(得分:0)

我建议您使用jquery。

发现这个伟大的article on how it can be done

快乐编码