从外部js文件返回样式表

时间:2012-04-30 22:12:25

标签: javascript html css

我正在使用下面的JavaScript来决定加载哪个样式表(如果是12月,我的圣诞节样式会加载,否则会加载我的默认样式)。这导致了XHTML验证的问题,我怀疑最好的解决方案是从外部文件加载js但我对此很新,并且在我的生活中不能让它工作。

如果可能的话,我想在相同的代码中使用相同的代码,以实现与直接在HTML中执行相同的效果。如果有人能解释如何做到这一点,我将不胜感激!

<head>
<script type="text/javascript">
    var i = new Date();
    var m = i.getMonth();
    if (m==11) {
        document.write('<link rel="stylesheet" type="text/css" href="mystyle-christmas.css" />');
    } else {
        document.write('<link rel="stylesheet" type="text/css" href="mystyle-default.css" />');
    }
</script>
</head>

2 个答案:

答案 0 :(得分:3)

您可能希望使用DOM函数来创建LINK节点,并将其添加到标题中。

var l = document.createElement('LINK');
l.setAttribute('rel','stylesheet');
l.setAttribute('href','mystyle-christmas.css');
l.type = 'text/css';
document.getElementsByTagName('HEAD')[0].appendChild(l);

答案 1 :(得分:0)

<link id="stylesheet" rel="stylesheet" type="text/css" href="mystyle-default.css" />

var i = new Date();
var m = i.getMonth();
if (m>=11) {
document.getElementById('stylesheet').href = 'mystyle-christmas.css';
} 

默认样式表不需要使用javascript加载,只需在需要的月份内替换样式表。