我在JavaScript中遇到条件问题。逻辑说答案应该是false
,并且根据控制台,语句是false
,但是当我运行它时,JavaScript说它是真的!
编辑:与呼叫对应的HTML。
<div class="simblaEL form-group" data-drag="P935" id="P935">
<input type="text" class="form-control input-sm" name="x" id="x"
onblur="checkEmp();">
</div>
Js:
//assume that the value of x is a string different from ''
if(document.getElementById('x').value === ''){
// do some things
}
else{
// do other things
}
当我放入控制台document.getElementById('x').value === ''
时,它会按预期返回false
。当我运行它时,JavaScript处理它就像true
一样,跳转到// do some things
。
我试过了if('' === document.getElementById('x').value)
,我也试过了
var s = document.getElementById('x').value;
if(s.isEmpty())
和
var s = document.getElementById('x').value;
if(s.equals(''))
但没有效果。代码在DOM加载后运行,因此它不像是在尝试检查不存在的元素。
答案 0 :(得分:0)
您的代码似乎运行正常。 我试试这个:
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
<input id='x' type="text" value="abc">
<script>
if (document.getElementById('x').value === '') {
// do some things
alert(true);
} else {
// do other things
alert(false);
}
</script>
</body>
</html>