2010-03-08 18 views

Respuesta

226

utilizarlo sin el mayor de:

$("#panel :input"); 

El > significa que sólo directos hijos del elemento, si desea que todos los niños sin importar la profundidad solo usa un espacio

+3

interesante ... Ahora estoy confundido ... El ':' es de pseudo-clases, ¿verdad? Pero queremos seleccionar un tipo de elemento. ¿Por qué el ':'? – mnemosyn

+11

@mnemosyn - Este es otro tipo de selector como ': checkbox 'es, mira aquí para más detalles: http://api.jquery.com/input-selector/ Y aquí hay una lista más completa de estos: http: // api .jquery.com/category/selectores/form-selectores/ –

+0

Gracias Nick, no estaba enterado de eso. Solucionado mi respuesta. – mnemosyn

58

Usted necesita

var i = $("#panel input"); 

o, dependiendo de qué es exactamente lo que quiere (ver más abajo)

var i = $("#panel :input"); 

la > restringirá a los niños, desea que todos los descendientes.

EDITAR: Como Nick señaló, hay una diferencia sutil entre $("#panel input") y $("#panel :input).

La primera de ellas sólo se va a recuperar elementos de entrada de tipo, que es <input type="...">, pero no <textarea>, <button> y <select> elementos. Gracias Nick, no sabía esto yo mismo y corrigió mi publicación en consecuencia. Izquierda ambas opciones, porque supongo que el PO no era consciente de que, o bien -technically- y pidió entradas ... :-)

+0

Entonces, ¿la entrada seleccionará todos los campos de entrada/selección/área de texto? ¿De repente? – Yuri

+0

Esencialmente, sí. El selector devuelve una matriz de coincidencias, así que supongo que podría decir que lo hace "de una vez", aunque no estoy muy seguro de lo que quiere decir con eso ... – mnemosyn

+1

Es decir, "todo junto" con solo ese selector. ": selector de entrada Descripción: selecciona todos los elementos de entrada, área de texto, selección y botón". No lo sabía, lo usaré a partir de ahora :) – Yuri

8
var i = $("#panel input"); 

debería funcionar :-)

la> sólo se ha podido recuperar niños directos, sin hijos de niños
el: es para usar pseudo-clases, p. ej. : Flotar, etc.

se puede leer sobre CSS-selectores disponibles de pseudo-clases aquí: http://docs.jquery.com/DOM/Traversing/Selectors#CSS_Selectors

+6

@henchman - ': input' también es un selector, http://api.jquery.com/category/selectors/form-selectors/ If tenía un '