In my code, I see this:
if (document.getElementById('xx') !=null) {
//do stuff
}
if xx element is not defined, will this evaluate to true or false?
Should I write:
if (document.getElementById('xx'))
to be safe?
In my code, I see this:
if (document.getElementById('xx') !=null) {
//do stuff
}
if xx element is not defined, will this evaluate to true or false?
Should I write:
if (document.getElementById('xx'))
to be safe?
console.log(document.getElementById('xx') ) evaluates to null.
document.getElementById('xx') !=null evaluates to false
You should use document.getElementById('xx') !== null as it is a stronger equality check.
getElementById is defined by DOM Level 1 HTML to return null in the case no element is matched.
!==null is the most explicit form of the check, and probably the best, but there is no non-null falsy value that getElementById can return - you can only get null or an always-truthy Element object. So there's no practical difference here between !==null, !=null or the looser if (document.getElementById('xx')).
Yes it will return null if it's not present you can try this below in the demo. Both will return true. The first elements exists the second doesn't.
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!');