2011-02-02 13 views
8

Si tengo algo como esto:Jquery: ¿usar dos selectores para un evento .click?

$(".jq_elements").children("input").click(function() 

¿Cómo agrego otro selector a la misma, por lo que ese mismo evento se activa cuando se hace clic en cualquiera de ellos.

Básicamente se necesitaría algo como esto:

$(".jq_elements, .jq_another_div").children("input").click(function() 

es algo como esto posible?

editar: Intenté esto de la manera que describí arriba. Resulta que mi código estaba un poco torcido, pero está bien ahora.

+0

Sí. ¿Lo has probado? – lonesomeday

+0

Estos problemas no necesitan aparecer aquí. Haga una búsqueda: http://www.google.com/search?q=jquery+multiple+selectors. –

Respuesta

17

$("selector, selector")

que funciona muy sintaxis. ¿Desea llamar al .children("input") en ambos?

Alternativamente $.merge($("selector"), $("selector"));

+0

sí, me gustaría llamar a eso en ambos. – WraithLux

+0

no debe ser $ (".jq_elements input, .jq_another_div input"). Haga clic en (función() igual que en la versión con .children ("input") –

+0

@Benjamin sí, pero probablemente sea menos eficiente desde su llamada ' children' twice. – Raynos

5

La forma en que mostró debería funcionar.

http://api.jquery.com/multiple-selector/

Todo lo que necesita es un delimitador de coma.

EDITAR: ¿Por qué llamas niños()?

$(".jq_elements > input, jq_another_div > input").click(function(){ 
    // ? 
}); 

El espacio es un selector, es decir, todos los descendientes que coincidan con la siguiente selección. Entonces .jq_another_div input encontrará todas las entradas secundarias dentro del elemento con jq_another_div como un nombre de clase.

http://api.jquery.com/child-selector/

http://api.jquery.com/descendant-selector/

+0

Para replicar lo que 'children (" input ")' está logrando, el selector realmente debería ser '" .jq_elements> input, jq_another_div> input "' – dcharles

+0

Tienes razón. Yo actualice. –

Cuestiones relacionadas