Memahami Perbezaan Antara "$(this)" dan "this" dalam jQuery
Apabila bekerja dengan jQuery, anda akan kerap menghadapi dua istilah: "$(this)" dan "this." Walaupun kedua-duanya merujuk kepada elemen semasa dalam fokus, terdapat perbezaan yang ketara antara penggunaannya.
Bila Menggunakan "$(this)"
Seperti yang anda sangkakan, "$(this)" digunakan terutamanya apabila anda ingin memanfaatkan kefungsian luas jQuery, terutamanya fungsi tersebut khusus untuk rangka kerja jQuery. Dengan membungkus elemen dalam "$(this)," anda menukarnya menjadi objek jQuery yang boleh mengakses julat penuh kaedah jQuery, seperti "append()."
Bila Menggunakan " this"
Sebaliknya, anda boleh menggunakan "ini" secara langsung apabila fungsi JavaScript atau DOM asli (tidak khusus untuk jQuery) boleh digunakan untuk unsur tersebut. Sebagai contoh, dalam contoh kedua yang anda berikan, menetapkan semula borang boleh dicapai menggunakan kaedah "reset()", yang merupakan fungsi DOM asli. Oleh itu, anda boleh menggunakan "ini" secara langsung kerana borang itu bukan objek jQuery.
Melihat Perbezaan Lebih Dekat
Untuk menggambarkan perkara ini dengan lebih lanjut, pertimbangkan perkara berikut coretan kod:
$(this)[0] === this
Ungkapan ini dinilai kepada benar, menunjukkan bahawa unsur asli ("ini") ialah sama seperti elemen pertama objek jQuery ("$(this)"). Ini kerana jQuery mencipta objek seperti senarai yang mewakili elemen yang dipadankan, dengan elemen pertama ialah nod DOM sebenar.
Begitu juga:
$("#myDiv")[0] === document.getElementById("myDiv")
Ungkapan ini juga benar, yang menyerlahkan bahawa elemen DOM yang dibenamkan dalam objek jQuery ("#myDiv") adalah sama dengan nod DOM sepadannya yang diperoleh melalui JavaScript "getElementById()."
Ringkasnya, gunakan "$(this)" apabila bekerja dengan fungsi khusus jQuery dan gunakan "this" secara langsung apabila berurusan dengan fungsi JavaScript atau DOM asli. Dengan mematuhi peraturan ini, anda boleh memanfaatkan kuasa penuh jQuery dan menggabungkannya dengan cekap dengan keupayaan JavaScript asli.
Atas ialah kandungan terperinci $(this) vs. this: Bila Menggunakan Setiap dalam jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!