jQuery each
// jquery .each
ref: http://api.jquery.com/jquery.each/
jQuery.each( array, callback(index, value) )
jQuery.each( object, callback(key, value) )
// nota que la funcion
$.each()
// puede iterar sobre cualquier coleccion (array o objeto), y NO ES IGUAL a
$(selector).each()
// el cual se usa para iterar SOLO en objetos jQ
//para selector.each():
// ref: https://api.jquery.com/each/
.each(Function( Integer index, Element element ))
a = $("img");
$(a).each(function(i,e){
console.log("i: "+i+", e: "+e);
});
// para salir de un .each()
//para salir de un .each, se usa return false, que equivale a un break de un ciclo normal
// o bien, para seguir con la siguiente iteracion, se usa return true (o cualquier cosa no false), equivalente a un continue de un ciclo normal
qa = $('#datos_formato').serializeArray();
$.each(qa,function(k,v){
console.log(k+":"+v);
if(v.value == ""){
alert(v.name+" es invalido");
return false; // si es invalido, salgo del each
}
return !false; // si es valido, continuo (ya no se muestra el alert de valido para ese caso)
alert(v.name+" es valido");
});
// ---
// jQObject.each( function( Integer index, Element element ){} );
// -----------
asignacion de evento on a elementos iterados con each...
ver: https://jsfiddle.net/odquywg6/
/*
no se por que el on atado a cada elemento con each no mantiene la referencia a las variables de cada iteracion.
en cambio, se quedan con la referencia de la ULTIMA iteracion.
Se podria pensar que la asignacion al on no tiene acceso a las variables definidas fuera de el,
pero si asi fuera, tampoco deberian tener la referencia a los valores de la ultima iteracion.
*/
Para otro ejemplo de como se afectan las variables globales y locales, el scope, y la asignacin dentro de las funciones, ver:
https://jsfiddle.net/m0gkn8xw/
// ---------