一般简单周表仅在星期日发生错误
Error occuring only on Sunday for general simple weektable
我正在处理突出显示星期几的一般 table。
除了星期天,今天,它在所有日子都有效。它现在坏了,它 returns 出现以下错误:
显然代码一点也不健壮?应该有一种完全不同的写法吗? PS。 if 语句是为了防止代码触发所有不包含此类作品的页面table.
https://jsfiddle.net/mxopg6fz/
workday();
function workday(){
if (document.getElementById("weekdagtabel") !== null){
var d = new Date().getDay();
document.getElementById("day-"+d).classList.add("today");
}
}
.today {
font-weight: bold;
}
.open {
background-color: green;
}
.closed {
background-color: red;
}
table {
border-collapse: collapse;
width: 100%;
border-spacing: 0;
margin: .5em 0;
}
th, td {
padding: 1em;
text-align: left;
border-bottom: 1px solid #ddd;
border-color:black;
border-style:solid;
border-width:1px;
overflow:hidden;
word-break:normal;
}
tr:hover {background-color: #EEE}
<table>
<tbody id="weekdagtabel">
<tr id="day-1">
<td>Monday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-2">
<td>Tuesday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-3">
<td>Wednesday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-4">
<td>Thursday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-5">
<td>Friday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-6">
<td>Saturday</td>
<td>Closed</td>
</tr>
<tr id="day-7">
<td>Sunday</td>
<td>Closed</td>
</tr>
</tbody>
</table>
检查这行代码:
var d = new Date().getDay();
d
变量 gets values 从 0
到 6
(0
表示星期日,1
表示星期一,等等)
但是您的 html 中有从 1
到 7
的 ID (day-1
... day-7
)
周日,您的代码正在此处查找 ID day-0
:
document.getElementById("day-"+d)
但它不在您的 html 中,您有 day-7
而不是
星期日使用 day-0
id 而不是 day-7
,或者调整代码中的 d
变量,以反映 html 文件中的现有 ID。
我正在处理突出显示星期几的一般 table。 除了星期天,今天,它在所有日子都有效。它现在坏了,它 returns 出现以下错误:
显然代码一点也不健壮?应该有一种完全不同的写法吗? PS。 if 语句是为了防止代码触发所有不包含此类作品的页面table.
https://jsfiddle.net/mxopg6fz/
workday();
function workday(){
if (document.getElementById("weekdagtabel") !== null){
var d = new Date().getDay();
document.getElementById("day-"+d).classList.add("today");
}
}
.today {
font-weight: bold;
}
.open {
background-color: green;
}
.closed {
background-color: red;
}
table {
border-collapse: collapse;
width: 100%;
border-spacing: 0;
margin: .5em 0;
}
th, td {
padding: 1em;
text-align: left;
border-bottom: 1px solid #ddd;
border-color:black;
border-style:solid;
border-width:1px;
overflow:hidden;
word-break:normal;
}
tr:hover {background-color: #EEE}
<table>
<tbody id="weekdagtabel">
<tr id="day-1">
<td>Monday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-2">
<td>Tuesday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-3">
<td>Wednesday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-4">
<td>Thursday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-5">
<td>Friday</td>
<td>08:00 - 20:00</td>
</tr>
<tr id="day-6">
<td>Saturday</td>
<td>Closed</td>
</tr>
<tr id="day-7">
<td>Sunday</td>
<td>Closed</td>
</tr>
</tbody>
</table>
检查这行代码:
var d = new Date().getDay();
d
变量 gets values 从 0
到 6
(0
表示星期日,1
表示星期一,等等)
但是您的 html 中有从 1
到 7
的 ID (day-1
... day-7
)
周日,您的代码正在此处查找 ID day-0
:
document.getElementById("day-"+d)
但它不在您的 html 中,您有 day-7
而不是
星期日使用 day-0
id 而不是 day-7
,或者调整代码中的 d
变量,以反映 html 文件中的现有 ID。