Verifique la existencia del bloque por jQuery

¿Cómo puedo saber si hay un bloque con la clase "media" en la página?

if(<div class="media"></div> exist in current page){
//then do something
}

Este código no funciona:

if($(".media")){ //do }

preguntado el 10 de mayo de 11 a las 13:05

lol, ¿es esta una prueba de pregunta de respuesta más rápida? -

Esta pregunta se ha hecho muchas veces antes. ¿Intentó buscar antes de hacerla? -

5 Respuestas

Tienes que comprobar if ($('.media').length).

$(...) devuelve un objeto jQuery, que siempre será "veraz", incluso cuando esté vacío.
Sin embargo, si está vacío, es length la propiedad será 0, que es "falso".

También puedes ser más explícito y escribir if ($('.media').length > 0).

contestado el 10 de mayo de 11 a las 17:05

yo podria agregar > 0 para hacerlo más obvio. - RoToRa

Parece que sacaste a todos. ;-) - Andy Rose

@Rooney, no ... lo hago más fácil de leer para algunas personas, supongo. - Blowsie

Puede usar .length para verificar la existencia

   if ($(".media").length)
    {//do something}

contestado el 10 de mayo de 11 a las 17:05

if ($(".media").length > 0) { ... }

contestado el 10 de mayo de 11 a las 17:05

if($(".media").length){ //do }

contestado el 10 de mayo de 11 a las 17:05

Una forma de hacerlo es:

if ($("div.media").length > 0) {
    // Then do something.
}

Sugerencia: use el nombre de la etiqueta div antes de la clase .media porque es más eficiente.

contestado el 10 de mayo de 11 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.