Jaka jest różnica między tym:
$.each($('#myTable input[name="deleteItem[]"]:checked').do_something());
i to:
$('#myTable input[name="deleteItem[]"]:checked').each(function() { do_something });
Kod HTML wybranej komórki tabeli, na podstawie której wykonano działanie, wygląda następująco:
<td width="20px"><input type="checkbox" class="chkDeleteItem" name="deleteItem[]" value="' . $rowItem['itemID'] . '" /></td>
Przejrzałem dokumentację jQuery, ale nadal nie rozumiem różnicy. (Czy to ja, czy ta dokumentacja czasami jest nieco „mglista” w klarowności treści?)
Dodane informacje:
Najwyraźniej moja próba podania ogólnych przykładów dezorientuje ludzi! Wraz z (wcześniej) brakującym nawiasem w pierwszym przykładzie. :(
Pierwszy przykład pochodzi z wiersza w moim kodzie, który usuwa <tbody> dla wszystkich wierszy z zaznaczonym polem wyboru:
$.each($('#classesTable input[name="deleteClasses[]"]:checked').parent().parent().parent().remove());
Drugi przykład pochodzi z sytuacji, w której przeglądam #classesTable w poszukiwaniu jakichkolwiek zaznaczonych pól wyboru i usuwam odpowiadające im elementy z listy rozwijanej.
$('#classesTable input[name="deleteClasses[]"]:checked').each(function(){
$('#classesList option[value="' + $(this).attr('value') + '"]').remove();
});
Rozumiem, że robią dwie różne rzeczy, ale nie do tego stopnia, że mógłbym powiedzieć „Muszę użyć $ .each () w tym przypadku i .each (function () {}) w innym przypadku.
Czy w ogóle są wymienne? Tylko w niektórych przypadkach? Nigdy?