检查div是否不存在与javascript


92

检查div是否存在非常简单

if(document.getif(document.getElementById('if')){

}

但是,如何检查具有给定ID的div是否不存在?

Answers:


151
var myElem = document.getElementById('myElementId');
if (myElem === null) alert('does not exist!');

1
非常感谢。我正在使用AngularJS和Bootstrap模态窗口,出于某种原因,JQuery在模态窗口中找不到元素。Vanilla JS工作正常。
krex 2014年

75
if (!document.getElementById("given-id")) {
//It does not exist
}

该语句document.getElementById("given-id")返回null一个元素given-id是否不存在,并且null是虚假的,表示在if语句中求值时它会转换为false。(其他虚假值


4
嗨,Esailija,我想如果您为“!”添加详细信息,则可能是最好的答案。效果很好。也许说它返回null,这是虚假的。向我+1。
Alex KeySmith 2013年

4
人们可以用谷歌搜索什么!是指javascript或许多其他语言。这不是火箭科学。
CommandZ 2014年

7
@CommandZ:为什么在简单的内联说明会更快的情况下强迫人们使用Google。此外,我相信Alex的理解是对null进行评估false,这不是常识(C#是一种null不等于false 的语言)。
Doug S

1
@DougS 甚至在强制性平等比较null中也不等于falseToBoolean(null)返回收益的呼唤false
Esailija 2014年

10

尝试获取具有ID的元素,并检查返回值是否为null:

document.getElementById('some_nonexistent_id') === null

如果您使用的是jQuery,则可以执行以下操作:

$('#some_nonexistent_id').length === 0

2
您有不能做的原因!document.getElementById('foo')吗?
Snuffleupagus

@ElatedOwl您可能会对许多输入执行操作,并且想要检查它们是否存在。那时将是毫无意义的document.getElementById()
农,2015年

9

检查我的JavaScript和JQuery代码:

JavaScript:

if (!document.getElementById('MyElementId')){
    alert('Does not exist!');
}

jQuery的:

if (!$("#MyElementId").length){
    alert('Does not exist!');
}

4

getElementByIdnull如果没有这样的元素,则返回。


1

适用于:

 var element = document.getElementById('myElem');
 if (typeof (element) != undefined && typeof (element) != null && typeof (element) != 'undefined') {
     console.log('element exists');
 }
 else{
     console.log('element NOT exists');
 }

1

有一个更好的解决方案。您甚至不需要检查元素是否返回null。您可以简单地做到这一点:

if (document.getElementById('elementId')) {
  console.log('exists')
}

exists当元素实际存在于DOM中时,该代码才会记录到控制台。


0

我在下面做检查是否id存在,如果存在则执行功能。

var divIDVar = $('#divID').length;
if (divIDVar === 0){ 
    console.log('No DIV Exist'); 
} else{  
    FNCsomefunction(); 
}   

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.