Tengo un div y tiene varios elementos de entrada ... Me gustaría recorrer cada uno de esos elementos. Ideas?
257
Use children()
y each()
, opcionalmente, puede pasar un selector achildren
$('#mydiv').children('input').each(function () {
alert(this.value); // "this" is the current element in the loop
});
También puede usar el selector secundario inmediato:
$('#mydiv > input').each(function () { /* ... */ });
each()
. Verifique los documentos, vinculados en la respuesta anterior.También es posible iterar a través de todos los elementos dentro de un contexto específico, sin importar cuán profundamente anidados estén:
El segundo parámetro $ ('# mydiv') que se pasa al selector jQuery 'input' es el contexto. En este caso, la cláusula each () iterará a través de todos los elementos de entrada dentro del contenedor #mydiv, incluso si no son hijos directos de #mydiv.
fuente
Si necesita recorrer elementos secundarios de forma recursiva :
fuente
También se puede hacer de esta manera:
fuente
Esto itera a través de todos los elementos secundarios y se puede acceder a su elemento con valor de índice por separado utilizando elemento e índice respectivamente.
fuente
children () es un ciclo en sí mismo.
fuente
No creo que necesite usar
each()
, puede usar el bucle estándarde esta manera puede tener el estándar para funciones de bucle como
break
ycontinue
funciona de manera predeterminadatambién el
debugging will be easier
fuente
$.each()
siempre es más lenta que unfor
bucle, y esta es la única respuesta que la usa. La clave aquí es usar el.eq()
para acceder al elemento real dentro de lachildren
matriz y no la[]
notación de corchete ( ).