2017-07-27 23 views
1

我正在創建網站。我正在顯示開放時間。客戶要求突出顯示本週的當天。每天都會在顏色黑色框中顯示,但今天的日期顯示在紅色框中。JavaScript根據星期幾更改div的CSS屬性

var d = new Date(); 
var weekday = new Array(7); 
weekday[0] = "Sunday"; 
weekday[1] = "Monday"; 
weekday[2] = "Tuesday"; 
weekday[3] = "Wednesday"; 
weekday[4] = "Thursday"; 
weekday[5] = "Friday"; 
weekday[6] = "Saturday"; 

var n = weekday[d.getDay()]; 

if (n = 'Thursday') { 
    $('coloured-box').css({"color":"green"}); 
} 

以上是我不知道,如果它是正確的錯誤或接近那裏。

+0

是否存在的出現在你的HTML代碼一週的日子,你會喜歡被稱呼,如果是這樣的清單做一個比較,你能否包含相關的HTML代碼? – ajc2000

+0

你想用'n <'Thursday'來實現什麼,你的意思是'd.getDay()<4','$('colored-box')'也很可能是錯誤的,因爲沒有標籤名稱爲「colored-box」的html元素。 –

+0

你想用'n''Thursday'來實現什麼?這是兩個字符串 - 你爲什麼要用'<? – Danmoreng

回答

8

這樣做會得到當天最簡單的方法,然後通過它的索引在其容器設置給定元素的類,像這樣:

$('.coloured-box span').eq(new Date().getDay()).addClass('today');
.coloured-box span.today { color: #C00; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="coloured-box"> 
 
    <span>Sunday</span> 
 
    <span>Monday</span> 
 
    <span>Tuesday</span> 
 
    <span>Wednesday</span> 
 
    <span>Thursday</span> 
 
    <span>Friday</span> 
 
    <span>Saturday</span> 
 
</div>

+0

羅裏,有一些調整,以得到這與我的確切情況工作完美!非常感謝你的幫助! –

0

我認爲你可能有邏輯錯誤。

if (n = 'Thursday') { 
    $('coloured-box').css({"color":"green"}); 
} 

你需要使用==

if (n == 'Thursday') { 
    $('coloured-box').css({"color":"green"}); 
}