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 に答える