var classes = $(this).attr('class').split(' '); // this gets the current element classes
var classes = $(this).parent().attr('class').split(' '); // this gets the parent classes.
Orang tua dalam situasi di atas adalah seorang ankor.
Jika saya ingin mendapatkan DIV orang tua pertama dari $ (this) seperti apa kodenya?
var classes = $(this).div:parent().attr('class').split(' '); // just a quick try.
* Pada dasarnya saya ingin mendapatkan kelas dari orang tua DIV pertama $ (ini).
Terima kasih
parents("div")
sedang melintasi dan mengembalikan semua div induk yang harus Anda gunakan.eq(0)
setelahnya untuk memastikan div hanya mengembalikan yang Anda inginkan.parents('div').eq(0)
- menggunakan selektor CSS dompet itu DIIKUTI oleh jQuery untuk memfilter hanya elemen pertama akan memberi Anda sedikit peningkatan kinerja - lihat bagian 'Catatan Tambahan' di jQuery: eq docclosest()
agar tidak mengembalikan semua orang tua kecuali orangdiv
tua.Menggunakan
.closest()
, yang mendapatkan elemen leluhur pertama yang cocok dengan selektor yang diberikan'div'
:EDIT:
Seperti yang dicatat @Shef,
.closest()
akan mengembalikan elemen saat ini jika kebetulan itu adalah DIV juga. Untuk memperhitungkannya, gunakan.parent()
dulu:sumber
.closest()
akan cocok dengan dirinya sendiri jika$(this)
merupakan elemen DIV..parents("div").eq(0)
Ini mendapat induk jika itu adalah div. Kemudian mendapat kelas.
sumber
Tetap sederhana!
sumber
dua dari opsi terbaik adalah
dan tentu saja Anda dapat menemukan atribut kelas dengan
sumber