我正在尝试创建一个简单的 if 语句来根据另一个 div 中输入的数字来更改 div 的背景颜色。我尝试对代码进行一些更改,但永远无法使最后一个 else if 语句起作用。
if ($(".pacenumber").text() <= "59") {
document.getElementById("paceheader").style.backgroundColor = "red";
}
else
if ($(".pacenumber").text() >= "60" < "80") {
document.getElementById("paceheader").style.backgroundColor = "yellow";
}
else
if ($(".pacenumber").text() >= "80") {
document.getElementById("paceheader").style.backgroundColor = "green";
}
如果输入的数字<=“59”,div 会正确更改为红色。
如果输入的数字 >=“60”且 <“80”,则 div 会正确更改为黄色。
如果输入的数字>=“80”,则 div 保持黄色并且不会更改为绿色。
是否有可能的解决方案使最后一个 if 语句正常工作?
最佳答案
您不能使用此语法来检查值是否在某个范围内:
if ($(".pacenumber").text() >= "60" < "80") {
这会被解释为就像您写的一样
if (($(".pacenumber").text() >= "60") < "80") {
($(".pacenumber").text() >= "60")
将返回 true
或 false
。当您将 bool 值与字符串进行比较时,false
会转换为 "0"
,true
会转换为 "1"
>。这两个值都小于“80”
,因此测试始终为真。
直接使用
else
if ($(".pacenumber").text() < "80") {
您不需要测试它是否至少为 "60"
,因为前面的 if
会处理所有小于此值的值。如果到达此 else if
,则它必须是 >= "60"
。
关于javascript - 最后一个 else if 语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36489481/