¿Cuál es la diferencia entre esto?
$.each($('#myTable input[name="deleteItem[]"]:checked').do_something());
y esto:
$('#myTable input[name="deleteItem[]"]:checked').each(function() { do_something });
El html de la celda de la tabla que se está seleccionando y sobre la que se actúa se ve así:
<td width="20px"><input type="checkbox" class="chkDeleteItem" name="deleteItem[]" value="' . $rowItem['itemID'] . '" /></td>
Revisé la documentación de jQuery, pero todavía no entiendo la diferencia. (¿Soy yo o esa documentación a veces es un poco "nebulosa" en la claridad del contenido?)
Información agregada:
¡Aparentemente mi intento de ejemplos genéricos está confundiendo a la gente! Junto con el paréntesis (anteriormente) que faltaba en el primer ejemplo. :(
El primer ejemplo proviene de una línea en mi código que elimina el <tbody> de cualquier fila con una casilla de verificación marcada:
$.each($('#classesTable input[name="deleteClasses[]"]:checked').parent().parent().parent().remove());
El segundo ejemplo proviene de una situación en la que busco en la #classesTable las casillas de verificación marcadas y elimino su elemento correspondiente en un menú desplegable.
$('#classesTable input[name="deleteClasses[]"]:checked').each(function(){
$('#classesList option[value="' + $(this).attr('value') + '"]').remove();
});
Entiendo que hacen dos cosas diferentes, pero no hasta el punto de que yo pueda decir "Necesito usar $ .each () en este caso y .each (function () {}) en otro caso.
¿Son intercambiables en absoluto? ¿Solo en algunos casos? ¿Nunca?