Eu tenho uma div e ela possui vários elementos de entrada ... Eu gostaria de percorrer cada um desses elementos. Ideias?
257
Use children()
e each()
, opcionalmente, você pode passar um seletor parachildren
$('#mydiv').children('input').each(function () {
alert(this.value); // "this" is the current element in the loop
});
Você também pode usar o seletor filho imediato:
$('#mydiv > input').each(function () { /* ... */ });
each()
. Verifique os documentos, vinculados na resposta acima.Também é possível iterar por todos os elementos em um contexto específico, não importando o quão profundamente aninhados eles estejam:
O segundo parâmetro $ ('# mydiv') que é passado para o seletor 'input' do jQuery é o contexto. Nesse caso, a cláusula each () irá percorrer todos os elementos de entrada no contêiner #mydiv, mesmo que não sejam filhos diretos de #mydiv.
fonte
Se você precisar percorrer elementos filho recursivamente :
fonte
Também pode ser feito desta maneira:
fonte
Isso itera através de todos os filhos e seu elemento com valor de índice pode ser acessado separadamente usando elemento e índice, respectivamente.
fonte
children () é um loop em si.
fonte
Eu não acho que você precisa usar
each()
, você pode usar o padrão para loopDessa forma, você pode ter o padrão para recursos de loop como
break
econtinue
funciona por padrãotambém o
debugging will be easier
fonte
$.each()
é sempre mais lento que umfor
loop, e esta é a única resposta que o utiliza. A chave aqui é usar o.eq()
para acessar o elemento real dentro dachildren
matriz e não a[]
notação bracket ( ).