用 javascript 检查 div 是否不存在

检查 div 是否存在相当简单

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


}

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

207610 次浏览

getElementById returns null if there is no such element.

Try getting the element with the ID and check if the return value is null:

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

If you're using jQuery, you can do:

$('#some_nonexistent_id').length === 0
if (!document.getElementById("given-id")) {
//It does not exist
}

The statement document.getElementById("given-id") returns null if an element with given-id doesn't exist, and null is falsy meaning that it translates to false when evaluated in an if-statement. (other falsy values)

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

That works with :

 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');
}

Check both my JavaScript and JQuery code :

JavaScript:

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

JQuery:

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

There's an even better solution. You don't even need to check if the element returns null. You can simply do this:

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

That code will only log exists to console if the element actually exists in the DOM.

I do below and check if id exist and execute function if exist.

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

All these answers do NOT take into account that you asked specifically about a DIV element.

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

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