web-dev-qa-db-fra.com

Vérifier si un div n'existe pas avec javascript

Vérifier si un div existe est assez simple

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

}

Mais comment puis-je vérifier si une div avec l'identifiant donné n'existe pas?

89
Wilson
var myElem = document.getElementById('myElementId');
if (myElem === null) alert('does not exist!');
146
Jimbo Jonny
if (!document.getElementById("given-id")) {
//It does not exist
}

L'instruction document.getElementById("given-id") renvoie null si un élément avec given-id n'existe pas, et null est falsy, ce qui signifie qu'il se traduit par false lorsqu'il est évalué dans une instruction if. ( autres valeurs de fausseté )

70
Esailija

Essayez d’obtenir l’élément avec l’ID et vérifiez si la valeur de retour est null:

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

Si vous utilisez jQuery, vous pouvez faire:

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

Vérifiez mes codes JavaScript et JQuery:

JavaScript:

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

JQuery:

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

getElementById retourne null s'il n'y a pas un tel élément.

3
SLaks

Cela fonctionne avec:

 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
Ema.H

Il y a une solution encore meilleure. Vous n'avez même pas besoin de vérifier si l'élément renvoie null. Vous pouvez simplement faire ceci:

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

Ce code enregistrera uniquement la variable exists sur la console si l'élément existe réellement dans le DOM.

1
user2230470

Je fais ci-dessous et vérifie si id existe et exécute la fonction s'il existe.

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