Video konsep lain! Ini adalah "hanya satu perkara" yang perlu anda fahami di jQuery. Ini sebenarnya agak unik untuk jQuery, kerana perpustakaan JavaScript popular lain pada masa lalu tidak melakukannya dengan cara ini.
Kami sudah banyak membahas pemilih. Sebagai contoh, anda sudah tahu bahawa $("p")
akan memilih semua perenggan pada halaman. Bukan hanya yang pertama atau yang rawak, semuanya. Anda dapat dengan mudah membayangkan mungkin terdapat banyak perkara di halaman. Sekarang bayangkan apa yang berlaku semasa anda melakukan:
$("p").hide();
Semua mereka disembunyikan bukan? Betul. Bukan yang pertama atau yang rawak, semuanya. Itu adalah lelaran yang tersirat . Di sebalik tabir, jQuery secara automatik melancarkan keseluruhan elemen yang dijumpainya, dan menjalankan kaedah yang telah anda pilih. Kita tidak perlu menulis sendiri untuk melakukan ini. Nampaknya agak jelas jika anda memperkenalkan JavaScript adalah jQuery, tetapi banyak perpustakaan pada masa lalu telah meminta anda untuk melihat koleksi elemen anda sendiri.
Sekiranya anda mahu, anda masih boleh menulis gelung itu sendiri. Itu mungkin kelihatan seperti ini, menggunakan kaedah gelung jQuery:
$("p").each(function() ( $(this).hide(); ));
Itu hampir sama. Tidak semestinya, tetapi anda boleh. Itulah lelaran eksplisit .
Kadang kala anda perlu melakukan lelaran secara eksplisit. Pada dasarnya, jika kita perlu mengakses nilai this
dan melakukan sesuatu yang istimewa dengannya, kita memerlukan konstruk gelung kita sendiri.
Contoh dalam screencast ini ialah menghitung watak dalam item senarai dan menambahkannya ke hujung rentetan. Kami memerlukan lelaran yang jelas untuk itu.
Lihat Pen 4b53b9f55662d0d26339e18277500eee oleh Chris Coyier (@chriscoyier) di CodePen
Kami menggunakan kaedah masing-masing () jQuery di sini yang sangat sesuai untuk keperluan kami. Sedikit berguna bagi kita adalah memberi kita kaunter berindeks sifar setiap lelaran yang boleh kita akses sekiranya diperlukan.
$(".there-are-three-of-me").each(function(i) ( console.log(i); )); // 0 // 1 // 2