Saya memiliki <div>
yang memiliki banyak lainnya <div>
di dalamnya, masing-masing pada tingkat bersarang yang berbeda. Daripada memberikan setiap anak <div>
pengenal, saya lebih suka memberikan akar <div>
pengenal. Ini sebuah contoh:
<div class="a" id="a5">
<div class="b">
<div class="c">
<a class="d">
</a>
</div>
</div>
</div>
Jika saya menulis fungsi dalam jQuery untuk merespons ke kelas d
dan saya ingin mencari ID untuk induknya, kelas a
, bagaimana saya melakukan ini?
Saya tidak bisa begitu saja $('.a').attr('id');
, karena ada beberapa kelas a
s. Saya dapat menemukan ID orang tua orangtuanya, tetapi desainnya jelek, lambat, dan tidak terlalu polimorfik (saya harus menulis kode berbeda untuk menemukan ID untuk kelas c
).
Lewati pemilih ke fungsi orang tua jQuery :
EDIT Hmm, sebenarnya jawabannya Slaks lebih unggul jika Anda hanya ingin nenek moyang terdekat yang cocok pemilih Anda.
sumber
Anda dapat menggunakan orang tua () untuk mendapatkan semua orang tua dengan pemilih yang diberikan.
Tetapi parent () hanya akan mendapatkan parent pertama dari elemen.
jQuery parent () vs. parent ()
Dan ada .parentsUntil () yang saya pikir akan menjadi yang terbaik.
sumber
closest
.Gunakan .parentsUntil ()
sumber
Diambil dari komentar @ Resord di atas. Yang ini berhasil untuk saya dan lebih dekat dengan pertanyaan itu.
Terima kasih
sumber