2012-10-31 64 views
0

我想針對這一點:的backgroundColor更改JavaScript

<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元素的。我的總體想法是在目標元素的月份發生變化時更改背景顏色。任何幫助是極大的讚賞。謝謝!

+0

你是否收到任何javascript錯誤? – Praveen

+0

你應該學習jQuery。 –

+2

@AmiramKorach因爲這正是我們需要的,更多的人可以複製/粘貼自稱爲web開發人員的jQuery代碼。 – Shmiddty

回答

3

試圖改變自己的if聲明:

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

此外,您switch的說法應該是:

switch(monName[now.getMonth()]) 
+0

這沒有奏效。讓我嘗試將document.getElement語句放入一個變量中,然後看看會發生什麼。謝謝! – James

+0

哦,等等..我沒有看到第二部分堅持... – James

+0

是的,這樣做了!謝謝一堆!讓我回去咀嚼這些代碼,看看我能否理解這一點。再次感謝! – James

-1

如果測試完全我會刪除。

+0

不值得回答,也可能是他只希望當月的月份被突出顯示。 – Shmiddty

相關問題