for - ¿Cómo itero a través de elementos secundarios de un div usando jQuery?
jquery each break (5)
Se puede hacer de esa manera también.
$(''input'', ''#div'').each(function () { console.log($(this)); //log every element found to console output });
Tengo un div y tiene varios elementos de entrada ... Me gustaría recorrer cada uno de esos elementos. Ideas?
Si necesita recorrer recursivamente elementos secundarios:
function recursiveEach($element){
$element.children().each(function () {
var $currentElement = $(this);
//////////// Show element
console.info($currentElement);
//////////// Show events handlers of current element
console.info($currentElement.data(''events''));
//////////// Loop her children
recursiveEach($currentElement);
});
}
//////////// Parent div
recursiveEach($("#div"));
NOTA: En este ejemplo muestro los controladores de eventos registrados con un objeto.
También es posible recorrer todos los elementos dentro de un contexto específico, sin importar cuán profundamente anidados estén:
$(''input'', $(''#mydiv'')).each(function () {
console.log($(this)); //log every element found to console output
});
El segundo parámetro $ (''# mydiv'') que se pasa a jQuery ''input'' Selector es el contexto. En este caso, la cláusula each () recorrerá todos los elementos de entrada dentro del contenedor #mydiv, incluso si no son hijos directos de #mydiv.
children () es un bucle en sí mismo.
$(''.element'').children().animate({
''opacity'':''0''
});
Use children()
y each()
, opcionalmente puede pasar un selector a children
$(''#mydiv'').children(''input'').each(function () {
alert(this.value); // "this" is the current element in the loop
});
También puedes usar el selector de niños inmediato:
$(''#mydiv > input'').each(function () { /* ... */ });