Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果未定义元素,document.getelementbyId将返回null?_Javascript_Domdocument - Fatal编程技术网

Javascript 如果未定义元素,document.getelementbyId将返回null?

Javascript 如果未定义元素,document.getelementbyId将返回null?,javascript,domdocument,Javascript,Domdocument,在我的代码中,我看到: if (document.getElementById('xx') !=null) { //do stuff } 如果未定义xx元素,该值将计算为true还是false 我应该写: if (document.getElementById('xx')) 为了安全 console.log(document.getElementById('xx') ) evaluates to null. document.getElementById('xx') !=null

在我的代码中,我看到:

if (document.getElementById('xx') !=null) {
    //do stuff
}
如果未定义
xx
元素,该值将计算为true还是false

我应该写:

if (document.getElementById('xx'))
为了安全

console.log(document.getElementById('xx') ) evaluates to null.

document.getElementById('xx') !=null evaluates to false

您应该使用
document.getElementById('xx')!=null
因为它是一个更强的相等性检查。

是的,如果它不存在,它将返回null。您可以在下面的演示中尝试这一点。两者都将返回真值。第一个元素存在,第二个元素不存在

Html

<div id="xx"></div>

getElementById
由定义,在没有匹配元素的情况下返回
null


==null
是最显式的检查形式,可能是最好的,但没有非
null
falsy值
getElementById
可以返回-只能获取
null
或始终真实的元素对象。因此,
之间没有实际的区别==空
=null
或较松散的
if(document.getElementById('xx'))

..
如果具有指定ID的元素不在文档中,则为null
()
文档。getElementById('xx')
将返回
未定义的
@KhanhTran事实上它确实返回
null
。在控制台中测试它。奖金链接:。是的,它也在那里。谢谢。是否存在返回未定义的情况?感谢您展示console.log技巧。您在教我们钓鱼。请记住在释放时移除
控制台。log
s!这应该是可以接受的答案,因为唯一错误的值
getElementById
返回的是
null
,如果您只想检查是否存在,则没有理由检查任何其他值。
   if (document.getElementById('xx') !=null) 
     console.log('it exists!');

   if (document.getElementById('xxThisisNotAnElementOnThePage') ==null) 
     console.log('does not exist!');