所以,我有一些代码,由于一些奇怪的原因不起作用。任务是更改ID为class
IF 的元素的属性blogtxt
,day
变量等于4,5或6 (周五,周六,周日)
我还希望在hours
使用day = 4 &&
变量。
另外,我确定问题不在 IF 语句中,因为代码甚至不会执行alert(currentTime)
问:上面的代码有什么问题?
<script>
var currentTime = new Date()
var day = currentTime.getDay()
var hours = currentTime.getHours()
alert(currentTime)
if (day = 4 && || day = 5 || day = 6) {
document.getElementById("blogtxt").setAttribute("class", "friss");
else document.getElementById("blogtxt").setAttribute("class", "");
}
</script>
答案 0 :(得分:2)
if (day = 4 && || day = 5 || day = 6) {
document.getElementById("blogtxt").setAttribute("class", "friss");
else document.getElementById("blogtxt").setAttribute("class", "");
}
应该是:
if (day == 4 || day == 5 || day == 6) {
document.getElementById("blogtxt").setAttribute("class", "friss");
} else {
document.getElementById("blogtxt").setAttribute("class", "");
}
答案 1 :(得分:2)
您遇到了一堆错误,JSLint会检测到错误:
day = 4
应为day == 4
。
if子句中有一个无关的&&
。
你没有为then子句使用紧支撑,或者使用else子句的开括号。
答案 2 :(得分:1)
这里有语法错误,这就是代码甚至无法执行的原因:
if (day = 4 && || day = 5 || day = 6)
您无法编写&& ||
,请将其替换为:
if (day === 4 || day === 5 || day === 6)
else
也存在语法错误,该错误应为:
if (day === 4 || day === 5 || day === 6) {
document.getElementById("blogtxt").setAttribute("class", "friss");
} else {
document.getElementById("blogtxt").setAttribute("class", "");
}
答案 3 :(得分:0)
<script>
var currentTime = new Date();
var day = currentTime.getDay();
var hours = currentTime.getHours();
alert(currentTime);
if (day = 4 && || day = 5 || day = 6){
document.getElementById("blogtxt").setAttribute("class", "friss");
else
document.getElementById("blogtxt").setAttribute("class", "");}
</script>
希望这会有所帮助。
你也不能使用&& ||
..这是语法错误。将其替换为||
。
花括号({}
)在if-else语句中也没有正确完成。
并且if语句比较运算符为==
而不是=
。