Puede que la tarea más común al trabajar con jQuery sea seleccionar un elemento. Los selectores de jQuery son muy sencillos de utilizar, ¿pero como puedes comprobar que el elemento que intentas seleccionar realmente existe?. En StackOverflow y otros foros he visto muchas veces a usuarios preguntando por este tema y casi siempre llegan con una sentencia if similar a esta (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 objeto, tanto si el elemento existe como si no; en caso de que no exista, el objecto 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
}

Mi elección, por ilustrativa y clara, es if ( $("#undiv").length > 0 ). Más info en la documentación oficial jQuery.length.