0

我正在使用下面的 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>
4

2 回答 2

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);
于 2012-04-30T22:29:16.747 回答
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,您只需在需要的月份内替换样式表。

于 2012-05-01T10:51:08.430 回答