Compruebe si un div NO existe con javascript


92

Verificar si existe un div es bastante simple

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

}

Pero, ¿cómo puedo verificar si no existe un div con la identificación dada?

Respuestas:


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

1
Muchas gracias. Estoy usando ventanas modales de AngularJS y Bootstrap, por alguna razón, JQuery no pudo encontrar elementos en la ventana modal. Vanilla JS funcionó bien.
krex

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

La declaración document.getElementById("given-id")devuelve nullsi un elemento con given-idno existe, y nulles falso, lo que significa que se traduce en falso cuando se evalúa en una declaración if. ( otros valores falsos )


4
Hola Esailija, creo que podrías ser la mejor respuesta si agregas detalles a por qué "!" funciona bien. Quizás diciendo que devuelve nulo, lo cual es falso. +1 de mi parte.
Alex KeySmith

4
La gente podría buscar en Google qué "!" significa en javascript o en muchos otros idiomas. No es ciencia espacial.
CommandZ

7
@CommandZ: ¿Por qué obligar a la gente a buscarlo en Google, cuando una simple explicación en línea sería más rápida? Además, creo que lo que Alex nullquiere decir es que evalúa false, lo cual no es de conocimiento común (C # es un lenguaje donde nullno es igual a falso).
Doug S

1
@DougS nullno es igual a falseincluso en la comparación de igualdad coercitiva: la llamada a las ToBoolean(null)devolucionesfalse
Esailija

10

Intente obtener el elemento con el ID y verifique si el valor de retorno es nulo:

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

Si está utilizando jQuery, puede hacer:

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

2
¿Hay alguna razón por la que no puedas hacerlo !document.getElementById('foo')?
Snuffleupagus

@ElatedOwl Puede suceder que pueda realizar una operación en muchas entradas y desee comprobar si existen. document.getElementById()Entonces sería inútil .
Danon

9

Verifique mi código JavaScript y JQuery:

JavaScript:

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

JQuery:

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

4

getElementByIddevuelve nullsi no existe tal elemento.


1

Eso funciona con:

 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

Existe una solución aún mejor. Ni siquiera necesita verificar si el elemento regresa null. Simplemente puede hacer esto:

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

Ese código solo se registrará existsen la consola si el elemento realmente existe en el DOM.


0

Lo hago a continuación y verifico si idexiste y ejecuto la función si existe.

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.