Saya ingin mendapatkan orang tua pertama yang memiliki awalan kelas tertentu, misalkan:
<div class="div-a3332">
<div class="div-a89892">
<p>
<div class="div-b2">
<div id="divid">hi</div>
</div>
</p>
</div>
</div>
Misalnya, elemen saya saat ini adalah #divid
dan saya ingin mencari elemen pertama yang memiliki awalan kelas div-a. Jadi pada dasarnya itu akan memilih:
<div class="div-a89892">
jquery
jquery-selectors
Perjalanan waktu
sumber
sumber
<div class='a'>
, lalu berikan aturan untukdiv.a
. Saya tidak tahu mengapa Anda memasukkandiv
nama kelas sama sekali.Jawaban:
Gunakan
.closest()
dengan selektor:sumber
div
pemilih elemen:$('#divid').closest('[class^="div-a"]')
. Seperti yang dikomentari oleh @Stefan, Anda harus benar-benar menggunakan banyak kelas.Jquery kemudian mengizinkan Anda untuk menemukan orang tua dengan file
.parents()
metode tersebut.Karenanya saya merekomendasikan penggunaan:
Ini memberikan semua node induk yang cocok dengan selektor. Untuk mendapatkan orang tua pertama yang cocok dengan selektor gunakan:
Untuk kueri traversal DOM lainnya, lihat dokumentasi tentang melintasi DOM .
sumber