javascript - 最后一个 else if 语句不起作用

标签 javascript if-statement

我正在尝试创建一个简单的 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") 将返回 truefalse。当您将 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/

相关文章:

javascript - For 循环 if 语句在 Javascript 中识别 == 但不识别 <

javascript - 如何动态更改jquery中的选择器setValue

javascript - 将标准 jQuery 函数分配给变量

javascript - youtube 的报告错误工具如何截取您的屏幕截图?

string - R:字符串上的ifelse

javascript - 在 if 语句中访问数组

python - 有没有办法简化 if 语句 block ?

javascript - 如何使用 javascript 激活 CSS3 (webkit) 动画?

javascript - 使用ajax与现有 Node 脚本通信

python - 将 XML 转换为 Python 对象 - 多个 IF 语句