Jaka jest różnica między tym:
$.each($('#myTable input[name="deleteItem[]"]:checked').do_something());
a to:
$('#myTable input[name="deleteItem[]"]:checked').each(function() { do_something });
HTML dla komórka tabeli, który jest wybrany i działania wygląda następująco:
<td width="20px"><input type="checkbox" class="chkDeleteItem" name="deleteItem[]" value="' . $rowItem['itemID'] . '" /></td>
Poszedłem nad dokumentacją jQuery, ale wciąż nie zrozum różnicę. (Czy to ja, czy to, że dokumentacja czasami lekko „mgliste” w jasności treści?)
Dodane Info:
Widocznie moja próba rodzajowe przykładów jest mylące ludzie! Wraz z (poprzednio) brakującym nawiasem w pierwszym przykładzie. :(
Pierwszy przykład pochodzi z wiersza w moim kodu, który usuwa <TBODY> żadnych wierszy z wyboru, która jest sprawdzana:
$.each($('#classesTable input[name="deleteClasses[]"]:checked').parent().parent().parent().remove());
Drugi przykład pochodzi z sytuacji, gdy patrzę przez #classesTable dla dowolnego wyboru sprawdzone i usunąć jego element pasujący w menu.
$('#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 będę w stanie powiedzieć „muszę korzystać $ .each() w tys to case i .each (function() {}) w innym przypadku.
Czy w ogóle są wymienne? Tylko w niektórych przypadkach? Nigdy?
W pierwszym przykładzie kodu brakuje nawiasu zamykającego. – tjollans
Komentarz i przecinek, zobacz moją odpowiedź na przykład. – StuperUser
Zamiar pierwszego przykładu można interpretować na kilka różnych sposobów. Popraw to, aby odzwierciedlało to, co faktycznie robisz. – user113716