【发布时间】:2022-08-13 21:56:13
【问题描述】:
我试图使输入标签的边框颜色仅在输入为零时变为红色
if(individual.value <= 1) {
error.style.display = \'block\'
individual.style.borderColor = \'red\'
} else if(individual.value >= 1){
error.style.display = \'none\'
individual.style.borderColor = \'hsl(172, 67%, 45%)\'
}
}````
-
请向我们展示您的输入元素。它是什么类型的?
-
我猜
if ... else就足够了,不需要else if -
另外,
individual.value <= 1和individual.value >= 1有点不合逻辑,如果值为 1,则将其视为“错误”。我认为应该是individual.value < 1和individual.value >= 1 -
就您提供的代码而言,它可以正常工作(就它而言,请参阅@GrafiCode 评论),因此您周围的 HTML 或 JS 存在一些问题。查看您的浏览器 devtools 检查设施控制台以确保您没有 JS 错误。
-
tbh 这个脚本在很多地方可能会失败,我的回答应该涵盖这些点。一次它不检查输入的变化。下一个主要问题是,如果您在输入字段中键入,输入将返回一个字符串而不是整数。因此,除非您使用
+或parseInt将字符串转换为整数,否则第一条语句将始终为真
标签: javascript html css