3 Memimpin dari ujian kelajuan $ (ini) vs .get () vs .eq () Saya memutuskan untuk melakukan ujian cepat untuk membandingkan kelajuan $ (ini) .attr ("id"); vs this.id yang boleh digunakan pada atribut asli seperti ID, SRC, HREF, gaya dan lain -lain ... tetapi tidak pada sifat seperti bgcolor, data, dan lain -lain ...
latar belakang
Dalam konteks perubahan ini tetapi secara amnya:
$ (ini) adalah objek jQuery yang mempunyai akses kepada semua API jQuery
Ini adalah rujukan kepada elemen DOM
Gunakan $ (ini) untuk elemen DOM yang belum dicipta.
Ini tanpa pembalut jQuery sedikit lebih cepat pada keseluruhannya.
$ (ini) .attr ("id"): 42ms
this.id: 1ms
Lihat Keputusan: https://jsfiddle.net/jquery4u/f9rp7/
Bacaan lanjut:
Ya, anda boleh menggunakan ini.Property dengan mana -mana harta elemen DOM. Sebagai contoh, anda boleh menggunakan ini.classname untuk mendapatkan kelas elemen, atau this.innerHtml untuk mendapatkan html dalaman elemen. Ingatlah bahawa ini.Property secara langsung mengakses harta elemen DOM. $ (this) .attr ('id') dan this.id bersesuaian dengan semua pelayar moden. Walau bagaimanapun, ini.id, menjadi harta JavaScript yang tulen, juga serasi dengan versi lama Internet Explorer yang tidak menyokong sepenuhnya jQuery.
Dalam JavaScript, jika harta tidak ditakrifkan pada objek, mengaksesnya akan kembali tidak ditentukan. Walau bagaimanapun, elemen DOM mempunyai set sifat yang telah ditetapkan, termasuk ID. Sekiranya atribut ID tidak ditetapkan untuk elemen DOM, mengakses ini.ID akan mengembalikan rentetan kosong, tidak ditentukan. Ya, anda boleh menetapkan ID elemen DOM menggunakan ini.ID dalam JavaScript. Sebagai contoh, this.id = 'newid' akan menetapkan ID elemen kepada 'newid'. Walau bagaimanapun, berhati -hati apabila menukar ID secara dinamik kerana ia boleh membawa kepada kekeliruan dan tingkah laku yang tidak dijangka dalam kod anda. ID elemen DOM dalam JavaScript tulen menggunakan harta ID. Sebagai contoh, jika anda mempunyai rujukan kepada elemen DOM dalam pembolehubah yang dipanggil elemen, anda boleh mendapatkan ID menggunakan element.id.Menggunakan ini.id bukan $ (ini) .attr ('id') dapat meningkatkan prestasi kod anda kerana ia melibatkan pemprosesan yang kurang. Ia secara langsung mengakses harta ID elemen DOM, manakala $ (ini) .attr ('id') melibatkan membuat objek jQuery dan kemudian menggunakan kaedah attr () untuk mendapatkan id.
Atas ialah kandungan terperinci ujian kelajuan jQuery: $ (this) .attr ('id'); vs this.id. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!