2010-05-24 13 views
6

Estoy seguro de que la solución es simple, pero no puedo averiguarlo :( Necesito combinar dos selectores de jQuery en un selector:JQuery: encontrar elementos secundarios de un selector existente

$(this) + $('input[type=text]:first') 

$ (this) es por ejemplo div # seleccionada por lo que el resultado debería ser:?

$('div#selected input[type=text]:first').focus(); 

cómo hacer

Respuesta

8

Sólo tiene que utilizar .find():

Obtenga los descendientes de cada elemento en el conjunto actual de elementos coincidentes, filtrados por un selector .

$(this).find('input[type=text]:first').focus(); 

o establecer las context a this:

$('input[type=text]:first', this).focus(); 
+0

Gracias. Sabía que era fácil :) – Bruno

1

yo creo que busca:

$('input[type=text]:first', this).focus(); 

Se centrará el cuadro de entrada en el contexto de div#selected

+0

Gracias. Sabía que era fácil :) – Bruno

0
$(this).children('#inpouter[type=test]:first').focus(); 

debe hacer el truco ...

+2

Eso no es exactamente lo mismo. Solo buscará los hijos inmediatos del primer selector. El ejemplo solo se preocupa si el elemento es descendiente del primer selector. – tvanfosson

+0

Es cierto, creo que hice esa suposición. Las otras respuestas son mejores aquí de todos modos (por ejemplo, encontrar) – Brant

Cuestiones relacionadas