在我的代码中,我看到了这个:
if (document.getElementById('xx') !=null) {
//do stuff
}
如果xx
未定义元素,这将评估为真还是假?
我应该写:
if (document.getElementById('xx'))
为了安全?
在我的代码中,我看到了这个:
if (document.getElementById('xx') !=null) {
//do stuff
}
如果xx
未定义元素,这将评估为真还是假?
我应该写:
if (document.getElementById('xx'))
为了安全?
console.log(document.getElementById('xx') ) evaluates to null.
document.getElementById('xx') !=null evaluates to false
你应该使用document.getElementById('xx') !== null
它,因为它是一个更强的平等检查。
getElementById
由DOM Level 1 HTML定义为在没有元素匹配的情况下返回null
。
!==null
是检查的最明确的形式,并且可能是最好的,但是没有可以返回的非null
虚假值getElementById
- 您只能获取null
或始终真实的 Element 对象。所以这里没有实际的区别!==null
,!=null
或者更宽松的if (document.getElementById('xx'))
。
是的,如果它不存在,它将返回 null 你可以在下面的演示中尝试这个。两者都将返回 true。第一个元素存在,第二个元素不存在。
html
<div id="xx"></div>
Javascript:
if (document.getElementById('xx') !=null)
console.log('it exists!');
if (document.getElementById('xxThisisNotAnElementOnThePage') ==null)
console.log('does not exist!');