0

我想以此为目标:

<h3 id='month'>Oct</h3>

我这样做了:

    var changeColor = function () {
        var monName = new Array ('Jan' ... 'Dec'); //ellipsis to make code short
        var now = new Date();

        if(monName == monName[now.getMonth()]) {
           switch(monName) {
                case 'Jan':
                   document.getElementById('month').style.backgroundColor = '#ff3300';
                   break;
                   .
                   .
                   .
                   .
                case 'Dec':
                   document.getElementById('month').style.backgroundColor = '#c2dd8a';
                   break;
                default:
                   alert('Error');

                }     
        }
};

我在 html body 元素中调用了该函数(脚本标签之间的外部 js 文件已经正确获取):

<script type='text/javascript' src='time.js'></script>
<body onload='changeColor();'>

它似乎没有用。我怀疑我如何定位 h3 元素存在错误。我的总体想法是随着目标元素的月份变化而改变背景颜色。任何帮助是极大的赞赏。谢谢!

4

2 回答 2

3

尝试将您的if陈述更改为:

if(document.getElementById('month').innerHTML == monName[now.getMonth()])

此外,您的switch陈述应该是:

switch(monName[now.getMonth()])
于 2012-10-31T17:41:50.393 回答
-1

我会完全删除 if 测试。

于 2012-10-31T17:44:35.663 回答