Como saber si un elemento existe con jQuery Basico

Para comprobar con jQuery si un determinado elemento existe lo podemos realizar con los selectores de jQuery que son muy sencillos de utilizar, ¿pero como puedes comprobar que el elemento que intentas seleccionar realmente existe?.

Como saber si un elemento existe con jQuery Basico

Bueno primero explicare la primera opción con una sentencia if suponiendo que se quiere seleccionar el elemento <div id="undiv">:

if ( $(“#undiv”) ) {
// Siempre será validado, incluso si #undiv no existe
}

El código anterior no funciona. ¿Por qué? El selector $('#undiv'), o cualquier otro selector válido de jQuery, devuelve siempre un array de elementos, tanto si el elemento existe como si no; en caso de que no exista, el elemento devuelto estará vacío. La sentencia if en JavaScript chequea un objecto como true incluso si está vacío, por eso el código anterior no nos sirve para comprobar si el elemento seleccionado existe o no.

Si embargo, si podemos comprobar como condición lógica alguna propiedad del objecto. Por ejemplo la propiedad length (longitud). Si la longitud del objeto recibido del selector jQuery es mayor a cero, significa que el objecto no está vacío y que, por tanto, el elemento existe:

if ( $(“#undiv”).length > 0 ) {
// hacer algo aquí si el elemento existe
}

Cómo length = 0 se interpreta como valor lógico false y length > 0 se interpreta como true, esta versión tendría el mismo resultado:

if ( $(“#undiv”).length ) {
// hacer algo aquí si el elemento existe
}

También podríamos comprobar si el objecto contiene al menos un item:

if ( $(“#undiv”)[0] ) {
// hacer algo aquí si el elemento existe
}

Para mas información ForosdelWeb 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s