我想检测当前日期,然后在课程中添加活动,以突出显示当天。
var date = new Date();
var day = date.getDay();
if ( day == 'Montag' ){
$(".monday").addClass("active");
}
if ( day == 'Dienstag' ){
$(".tuesday").addClass("active");
}
if ( day == 'Mittwoch' ){
$(".wednesday").addClass("active");
}
if ( day == 'Donnerstag' ){
$(".thursday").addClass("active");
}
if ( day == 'Freitag' ){
$(".friday").addClass("active");
}
if ( day == 'Samstag' ){
$(".saturday").addClass("active");
}
我知道,转换会更好。 THX
答案 0 :(得分:1)
你可以做类似的事情来获得更易读的代码。
var daysOfWeeks = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
var date = new Date();
$('.' + daysOfWeek[date.getDay()]).addClass("active");
请记住,getDay()
返回0到6之间的整数(0表示星期日)。
答案 1 :(得分:1)
getDay()
会返回0到6之间的数字。Reference
为了使您的代码更好,您可以将类名存储在数组中,并通过getDay()
给出的索引访问它,并直接在您的选择器中使用它:
var days = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
var date = new Date();
var day = date.getDay();
$("." + days[day]).addClass("active");
span {
color: blue;
}
.active {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="monday">Montag</span>
<span class="tuesday">Dienstag</span>
<span class="wednesday">Mittwoch</span>
<span class="thursday">Donnerstag</span>
<span class="friday">Freitag</span>
<span class="saturday">Samstag</span>
<span class="sunday">Sonntag</span>
答案 2 :(得分:0)
if ( day == 1 ){
$(".monday").addClass("active");
}
...
或
switch (day) {
case 1:
$(".monday").addClass("active");
break;
...
}
或
var dayClasses = ["sunday", "monday", ...];
$("." + dayClasses[day]).addClass("active");