Estoy acostumbrado a Prototypejs, donde $$ ("selector") devolverá nulo si no se encontraron elementos. Esto es conveniente porque puedo hacerComprobando si un selector jQuery no encuentra ningún resultado
if ($$("selector")) {}
para verificar si un elemento está en el DOM.
Sin embargo, en jQuery $ (selector) devolverá [] Si no se encuentra ningún elemento, por lo que ahora tengo que hacer:
if ($(selector).length > 0)
Esto hace que el código un poco más difícil de leer.
Mi pregunta: ¿Cuál es la mejor manera de hacerlo? ¿Debo extender el objeto jQuery con métodos como .empty() y .any(), o hay funciones integradas para hacer esto?
Actualización: Esto también se aplica a otros selectores de jQuery que debe, de todos modos, sólo devuelven un resultado (como padre(), o más cercano())
Sólo tiene que hacer 'if ($ (selector) .length)' ya que parece que el '0' se Falsey- ... –
deshacerse del' > 0' predicado. Es redundante – adarshr