我在javascript中有一个if else
函数:
if(document.getElementById('lengthFront').value > 4 && document.getElementById('lengthFront').value < 296 && document.getElementById('lengthBack').value > 4 && document.getElementById('lengthBack').value < 296)
{
document.getElementById('param_length').classList.remove('bg-danger');
}
else
{
document.getElementById('param_length').className = "bg-danger";
}
我需要一个额外的检查,以便在lengthFront
或lengthBack
为空时不会执行,我尝试了不同的解决方案,但我找不到合适的方法让它正常工作。我所有的解决方案都指向其他
我试图添加:
document.getElementById('lengthFront') == '' && document.getElementById('lengthBack') == '' &&......
document.getElementById('lengthFront') == false && document.getElementById('lengthBack') == false &&......
document.getElementById('lengthFront') == null && document.getElementById('lengthBack') == null &&......
document.getElementById('lengthFront') =!= undefined && document.getElementById('lengthBack') != undefined &&......
任何建议
答案 0 :(得分:-1)
if(document.getElementById('lengthFront') && document.getElementById('lengthFront').value != '')
第一个条件确保元素存在,第二个条件确保它的值不为空。
答案 1 :(得分:-1)
对于处理可能存在或可能不存在的DOM元素的最简洁和可读的方法,如果它们存在,可能没有有效值,我建议您利用两个朋友:逻辑AND &&
您可以使用“条件三元”运算符和“条件三元”运算符?:
,以便检查null和空字符串,然后分配默认值(0)或元素值,所有在初始赋值语句中。此外,您只需将结果分配给变量(更好的可读性,更少的输入,更快的执行速度), 避免多个冗余getElementByXXX
查询 :< / p>
var lengthFront = document.getElementById('lengthFront');
var lengthBack = document.getElementById('lengthBack');
var paramLength = document.getElementById('param_length');
lengthFront = (lengthFront && lengthFront.value != '') ? lengthFront .value : 0 ;
lengthBack = (lengthBack && lengthBack.value != '') ? lengthBack .value : 0 ;
if(lengthFront > 4 && lengthFront < 296 && lengthBack > 4 && lengthBack < 296) {
paramLength && paramLength.classList.remove('bg-danger')
} else {
paramLength && (paramLength.className = "bg-danger");
}