> Faqs > Cómo saber si se han seleccionado elementos en un objeto jquery

Cómo saber si se han seleccionado elementos en un objeto jquery

Estoy empezando con jQuery y tengo una pregunta que puede ser sencilla.

¿Cómo puedo saber si he seleccionado elementos al hacer un objeto jQuery? Por ejemplo, tengo este código:

let elementos = $('.dinamic_elements');

Mi duda es ¿Cómo saber si en el selector anterior llegamos a seleccionar algo, ya que hay veces que no hay elementos de la clase "dinamic_elements" en la página y podría dar un problema si quiero hacer algo con ellos.

Respuestas

Para saber si has seleccionado algo al crear ese objeto jQuery lo más normal es que uses la propiedad .length.

let elementos = $('.dinamic_elements');
if(elementos.length > 0) {
    console.log('hay elementos de la clase dinamic_elements');
} else {
    console.log('NO hemos encontrado ningún elemento de la clase dinamic_elements');
}

De todos modos, no es tan cierto que no se puedan hacer cosas con esos elementos en caso que no haya nada porque te pueda dar un error.

En principio, aunque no hayas seleccionado nada, si ejecutas un método sobre ese objeto jQuery no habría problema, simplemente no se mostraría nada:

elementos.css('color', 'red')

Al ejecutar ese código, aunque en el objeto jquery no tengas seleccionado ningún elemento del DOM, no habría problema y el método no te va a arrojar un error. Por eso no sé si he entendido bien tu pregunta o tienes un problema diferente del que me imagino.

Victor
291 8 20 14