2010-08-30 24 views
10

¿Puedo hacer algo como el siguiente donde puedo tener múltiples clases desencadenar un evento?puedo tener un selector de varias clases en jquery

$('a.red a.blue a.green').click(function(event) 
{ 

}); 
+4

Solo una nota para el OP: Las clases se definen por '.' not': '. ':' denota pseudo-clases. –

+0

Sí, ¡lo arreglé! – ian

+1

Nota relacionada: la sintaxis que tiene allí ('a.red a.blue a.green') tiene un significado diferente como selector de css y jquery. Selecciona cualquier elemento 'a' con una clase de' verde' que está contenida en un elemento 'a' con una clase de' azul', que a su vez está contenida en un elemento 'a' con una clase de' rojo'. por supuesto, esto no tiene sentido cuando todas son etiquetas 'a', pero * es * un concepto útil en general. – grossvogel

Respuesta

18

Sí, puede usar la coma como separador.

$('a.red, a.blue, a.green').click(function(event) {}); 
0

$('a.red.blue.green') selecciona los elementos que tienen todos esas clases.

$('a.red, a.blue, a.green') selecciona los elementos que tienen al menos uno de esas clases.

+1

Para todas esas clases, es $ ("a.red.blue.green"). –

3

Un enfoque ligeramente diferente sería como prefijo para sus clases como a.prefix_red, a.prefix_blue, a.prefix_green y luego usar un selector de comodín en ella como:

$("a[class^=prefix_]") 

La ventaja es que mientras el prefijo toda su "gatillo "clases, no tienes que editar el jQuery cada vez que agregas uno nuevo, no es que sea una edición importante de todos modos, pero puede ser útil si decides minificar tu script, por ejemplo.