Saya memiliki tata letak yang mirip dengan ini:
<div id="..."><img src="..."></div>
dan ingin menggunakan pemilih jQuery untuk memilih anak img
di dalam div
klik pada.
Untuk mendapatkan div
, saya punya pemilih ini:
$(this)
Bagaimana saya bisa membuat anak img
menggunakan pemilih?
Anda juga bisa menggunakannya
yang akan mengembalikan semua
img
s yang merupakan keturunandiv
sumber
$(this).children('img')
akan lebih baik. misalnya<div><img src="..." /><div><img src="..." /></div></div>
karena mungkin pengguna ingin menemukan img tingkat 1.Jika Anda perlu mendapatkan yang pertama
img
turun satu tingkat, Anda bisa melakukannyasumber
:first
hanya cocok dengan " turun tepat satu tingkat ", atau apakah cocok dengan "pertama"img
yang ditemukan?.children()
adalah dari mana "turun tepat satu tingkat" berasal dan di:first
mana "pertama" berasal..find()
sebagai gantinya.children()
this
itu , sudah menjadi referensi untuk<div>
berisi<img>
, namun jika Anda memiliki beberapa tingkatan tag untuk dilalui dari referensi yang Anda miliki maka Anda pasti dapat menyusun lebih dari satuchildren()
panggilanJika tag DIV Anda segera diikuti oleh tag IMG, Anda juga dapat menggunakan:
sumber
Anak- anak langsung adalah
sumber
Anda dapat menemukan semua elemen img dari induk div seperti di bawah ini
Jika Anda ingin elemen img tertentu, Anda dapat menulis seperti ini
Div Anda hanya mengandung satu elemen img. Jadi untuk ini di bawah ini benar
Tetapi jika div Anda mengandung lebih banyak elemen img seperti di bawah ini
maka Anda tidak dapat menggunakan kode atas untuk menemukan nilai alt elemen img kedua. Jadi Anda dapat mencoba ini:
Contoh ini menunjukkan gagasan umum bahwa cara Anda dapat menemukan objek aktual di dalam objek induk. Anda bisa menggunakan kelas untuk membedakan objek anak Anda. Itu mudah dan menyenangkan. yaitu
Anda dapat melakukan ini seperti di bawah ini:
dan lebih spesifik seperti:
Anda dapat menggunakan find atau children seperti kode di atas. Untuk lebih lanjut kunjungi Children http://api.jquery.com/children/ dan Temukan http://api.jquery.com/find/ . Lihat contoh http://jsfiddle.net/lalitjs/Nx8a6/
sumber
Cara merujuk ke anak di jQuery. Saya merangkumnya di jQuery berikut:
sumber
Tanpa mengetahui ID dari DIV saya pikir Anda bisa memilih IMG seperti ini:
sumber
Coba kode ini:
sumber
$($(this).children()[0])
.$(this:first-child)
$($(this).children()[x])
digunakan$(this).eq(x)
atau jika Anda ingin yang pertama, cukup$(this).first()
.Anda dapat menggunakan salah satu metode berikut:
1 temukan ():
2 anak():
sumber
jQuery's
each
adalah salah satu opsi:sumber
Anda dapat menggunakan Child Selecor untuk referensi elemen anak yang tersedia di dalam induk.
Dan di bawah ini adalah jika Anda tidak memiliki referensi
$(this)
dan Anda ingin referensi yangimg
tersedia di dalamdiv
dari fungsi lain.sumber
Ini juga harus bekerja:
sumber
this
Berikut adalah kode fungsional, Anda dapat menjalankannya (ini adalah demonstrasi sederhana).
Ketika Anda mengklik DIV Anda mendapatkan gambar dari beberapa metode yang berbeda, dalam situasi ini "ini" adalah DIV.
Semoga ini bisa membantu!
sumber
Anda mungkin memiliki 0 hingga banyak
<img>
tag di dalamnya<div>
.Untuk menemukan elemen, gunakan a
.find()
.Untuk menjaga keamanan kode Anda, gunakan a
.each()
.Menggunakan
.find()
dan.each()
bersama - sama mencegah kesalahan referensi nol dalam kasus 0<img>
elemen sementara juga memungkinkan untuk penanganan beberapa<img>
elemen.sumber
$("body").off("click", "#mydiv").on("click", "#mydiv", function() {
event.stopImmediatePropagation()
elemen untuk mencegah hal itu terjadi.sumber
Anda bisa menggunakannya
sumber
Jika img Anda adalah elemen pertama di dalam div lalu coba
Tampilkan cuplikan kode
sumber