Membezakan antara '$(this)' dan 'this' dalam jQuery
Semasa bekerja melalui tutorial Bermula jQuery, anda menemui perbezaan halus antara menggunakan '$(this)' dan 'this' secara langsung. Dalam sampel kod yang anda berikan:
$("#orderedlist").find("li").each(function (i) { $(this).append(" BAM! " + i); }); $("#reset").click(function () { $("form").each(function () { this.reset(); }); });
Anda telah membuat kesimpulan dengan betul bahawa perbezaan utama terletak pada kefungsian khusus jQuery.
'$(this)' untuk Operasi jQuery
Dalam contoh pertama, '$(this)' digunakan dalam fungsi 'setiap' untuk ulangi elemen 'li'. Dengan merangkum 'ini' dalam '$(this)', anda menukarnya menjadi objek jQuery. Ini membolehkan anda menggunakan kaedah jQuery seperti 'tambah' untuk memanipulasi elemen secara langsung.
'ini' untuk Fungsi Bukan jQuery
Dalam contoh kedua, 'ini ' digunakan dalam fungsi pengendali klik untuk butang set semula. Di sini, anda menyasarkan elemen 'bentuk'. Menetapkan semula borang ialah ciri HTML standard yang tidak memerlukan campur tangan jQuery. Oleh itu, anda boleh memanggil 'set semula' terus pada 'ini'.
Bila Menggunakan Setiap Borang
Sebagai peraturan umum, bila-bila masa anda mahu melaksanakan jQuery-specific operasi pada elemen, gunakan '$(this)'. Ini memastikan bahawa elemen itu dirangkumkan sebagai objek jQuery dan memberi anda akses kepada keupayaan penuhnya. Untuk operasi bukan jQuery seperti menetapkan semula borang, anda boleh menggunakan 'ini' secara langsung.
Mengingat Perhubungan
Untuk memudahkan urusan, ingatlah persamaan berikut:
$(this)[0] === this
Ini bermakna anda boleh mengakses elemen DOM asal pada bila-bila masa dengan mengindeks objek jQuery dengan '[0]'.
Atas ialah kandungan terperinci Bilakah Saya Harus Menggunakan `$(this)` vs. `this` dalam jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!