92

Checking if a div exists is fairly simple

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

}

But how can I check if a div with the given id does not exist?

4

9 回答 9

152
var myElem = document.getElementById('myElementId');
if (myElem === null) alert('does not exist!');
于 2012-06-04T18:27:52.927 回答
78
if (!document.getElementById("given-id")) {
//It does not exist
}

如果元素不存在,则该语句document.getElementById("given-id")返回,并且是假的,这意味着在 if 语句中评估时它会转换为假。(其他虚假值nullgiven-idnull

于 2012-06-04T18:27:04.120 回答
11

检查我的 JavaScript 和 JQuery 代码:

JavaScript:

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

查询:

if (!$("#MyElementId").length){
    alert('Does not exist!');
}
于 2015-04-29T10:36:15.170 回答
10

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

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

如果你使用 jQuery,你可以这样做:

$('#some_nonexistent_id').length === 0
于 2012-06-04T18:25:12.303 回答
4

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

于 2012-06-04T18:24:59.427 回答
2

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

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

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

于 2017-02-06T23:01:35.917 回答
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');
 }
于 2013-08-29T14:08:11.753 回答
0

所有这些答案都没有考虑到您专门询问了DIV元素。

document.querySelector("div#the-div-id")

@see https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector

于 2019-10-23T17:25:48.667 回答
0

我在下面做并检查是否id存在,如果存在则执行函数。

var divIDVar = $('#divID').length;
if (divIDVar === 0){ 
    console.log('No DIV Exist'); 
} else{  
    FNCsomefunction(); 
}   
于 2018-01-23T11:46:13.840 回答