2012-06-04 17 views

Respuesta

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

Use (myElem === null) para puntos de bonificación. – Frug

+0

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

+0

Parece que funciona ... ¡gracias! –

3

getElementById devuelve null si no hay tal elemento.

10

Trate de conseguir el elemento con el ID y comprobar si el valor de retorno es nulo:

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

Si estás usando jQuery, que puede hacer:

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

¿Hay alguna razón por la que no puedas hacer '! Document.getElementById ('foo')'? – Snuffleupagus

+2

Puede ... Solo estoy siendo explícito por razones de legibilidad – Hristo

+0

@ElatedOwl Puede suceder que pueda realizar operaciones en muchas entradas, y desea verificar si existen. Sería inútil que 'document.getElementById()' luego. – Danon

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

La declaración document.getElementById("given-id") devuelve null si un elemento con given-id no existe, y null es falso, lo que significa que se traduce en falso cuando se evalúa en un si -declaración. (other falsy values)

+4

Hola Esailija, creo que podrías ser la mejor respuesta si añadiste detalles sobre por qué "!" funciona bien. Tal vez diciendo que devuelve nulo, que es falso. +1 de mi parte –

+4

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

+7

@CommandZ: ¿Por qué obligar a las personas a Google, cuando una simple explicación en línea sería más rápida? Además, creo que lo que Alex está diciendo es que 'null' se evalúa como' falso', lo cual no es de conocimiento común (C# es un lenguaje donde 'null' no es falso). –

1

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

comprobar mi JavaScript y jQuery código:

JavaScript:

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

JQuery:

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

Hay una solución aún mejor. Ni siquiera necesita verificar si el elemento devuelve null. Usted puede simplemente hacer esto:

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

Ese código sólo conectarse a la consola exists si el elemento existe realmente en el DOM.

0

A continuación, compruebo si existe id y ejecuto la función si existe.

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