document.getelementbyId will return null if element is not defined?

前端 未结 3 868

In my code, I see this:

if (document.getElementById(\'xx\') !=null) {
    //do stuff
}

if xx element is not defined, will this

相关标签:
3条回答
  • 2020-12-29 19:13
    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.

    0 讨论(0)
  • 2020-12-29 19:15

    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.

    Demo

    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!');
    
    0 讨论(0)
  • 2020-12-29 19:28

    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')).

    0 讨论(0)
提交回复
热议问题