Saya baru mengenal jQuery, dan saya bertanya-tanya apa perbedaan antara jQuery get()
dan eq()
fungsi. Saya mungkin salah paham apa get()
fungsinya, tapi saya pikir itu aneh bahwa saya tidak bisa memanggil fungsi yang dikembalikan pada elemen yang dikembalikan di baris yang sama.
//Doesn't work
I.e. $("h2").get(0).fadeIn("slow");
//Works
$("h2").eq(0).fadeIn("slow");
jquery
jquery-selectors
contactmatt
sumber
sumber
Jawaban:
.get()
dan.eq()
keduanya mengembalikan satu "elemen" dari larik objek jQuery, tetapi mereka mengembalikan satu elemen dalam bentuk yang berbeda..eq()
mengembalikannya sebagai objek jQuery, yang berarti elemen DOM dibungkus dalam pembungkus jQuery, yang berarti menerima fungsi jQuery..get()
mengembalikan larik elemen DOM mentah. Anda dapat memanipulasi masing-masing dengan mengakses atributnya dan menjalankan fungsinya seperti yang Anda lakukan pada elemen DOM mentah. Tapi itu kehilangan identitasnya sebagai objek yang dibungkus jQuery, jadi fungsi jQuery.fadeIn
tidak akan berfungsi.sumber
get()
mengembalikan elemen DOM sedangkan:eq()
daneq()
mengembalikan elemen jQuery. Karena elemen DOM tidak memiliki metodefadeIn()
itu gagal .http://api.jquery.com/get/
http://api.jquery.com/eq-selector/
sumber
get(0)
(docs) mengembalikan elemen DOM pertama dalam set.eq(0)
(docs) mengembalikan elemen DOM pertama dalam set, dibungkus dalam objek jQuery.Itulah mengapa
.fadeIn("slow");
tidak berhasil saat Anda melakukannya.get(0)
. Elemen DOM tidak memilikifadeIn()
metode, tetapi objek jQuery memilikinya.sumber
Untuk mengembangkan jawaban lain:
sumber
eq(i)
mengambil anggota ke-i di set penerima sebagaijQuery
objek, sementaraget(i)
mengembalikan anggota di posisi ke-i sebagai elemen DOM.Alasan mengapa ini tidak berhasil:
Karena
h2
elemen DOM tidak memiliki metode yang dipanggilfadeIn
.Anda harus menggunakan di
eq(0)
sini sebagai gantinya.sumber
Saya memberikan contoh yang menjelaskan poin-poin yang diberikan oleh orang lain di sini. perhatikan kode berikut
dan kode js yang sesuai,
Inilah yang akan Anda lihat
Yang pertama adalah objek DOM sedangkan yang terakhir adalah objek yang dibungkus Jquery tempat Anda dapat memanggil metode Jquery
sumber
jQuery eq () metode memilih elemen HTML dengan nomor indeks tertentu.
Ini adalah contohnya
Sumber: http://www.snoopcode.com/JQuery/jquery-eq-selector
sumber
eq(2)
mengembalikan div ketiga?Jawaban di atas sudah dijelaskan secara spesifik dan benar. Saya ingin menambahkan beberapa poin di sini yang mungkin bisa membantu untuk penggunaan
get()
.Jika Anda tidak meneruskan argumen ke
.get()
, itu akan mengembalikan Array dari elemen DOM.Jika Anda menggunakan objek DOM
get()
, sepertivar s = $("#id").get(0)
Anda dapat mengubahnya kembali menjadi objek jQuery hanya dengan menggunakan ini,$(s)
Anda dapat menggunakan
$obj[i]
sebagai cara alternatif jika Anda tidak ingin menggunakan$obj.get(i)
, lihat di bawah,sumber