Pemilahan jQuery - Metode .closest()
Contoh
Contoh ini menunjukkan bagaimana dapat menyelesaikan perwakilan peristiwa dengan .closest(). Ketika elemen daftar paling dekat atau turunannya diklik, latar belakang kuning akan berubah:
$( document ).bind("click", function( e ) { $( e.target ).closest("li").toggleClass("hilight"); });
Definisi dan penggunaan
Metode .closest() mendapatkan elemen nenek moyang pertama yang cocok pilihan, memulai dari elemen saat ini ke atas tree DOM.
Syarat
.closest(selector)
Parameter | Deskripsi |
---|---|
selector | Nilai string, berisi ekspresi pilihan elemen yang cocok |
Penjelasan detil
Jika diberikan objek jQuery yang mewakili kumpulan elemen DOM, metode .closest() memungkinkan kita untuk mengambil elemen-elemen ini di tree DOM serta nenek moyang mereka, dan membangun objek jQuery baru dengan elemen yang cocok..parents() Dengan cara yang sama seperti .closest(), keduanya mengelilingi tree DOM ke atas.
.closest() | .parents() |
---|---|
Dari elemen saat ini | Dari elemen orang tua |
Mengelilingi tree DOM ke atas hingga menemukan yang pertama yang cocok pilihan yang digunakan. | Mengelilingi tree DOM ke atas hingga elemen akar dokumen, menambahkan setiap elemen nenek moyang ke dalam kumpulan sementara; jika pilihan digunakan, kumpulan ini akan disaring berdasarkan pilihan tersebut. |
Mengembalikan objek jQuery yang mengandung nol atau satu elemen | Mengembalikan objek jQuery yang mengandung nol, satu, atau beberapa elemen |
Lihat bagian HTML di bawah ini:
<ul id="one" class="level-1"> <li class="item-i">I</li> <li id="ii" class="item-ii">II <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </li> <li class="item-iii">III</li> </ul>
Contoh 1
Dengan asumsi bahwa kita melakukan pencarian dari item A ke elemen <ul>:
$('li.item-a').closest('ul').css('background-color', 'red');
Ini akan mengubah warna <ul> level-2, karena saat mengembalikan ke atas pohon DOM, elemen ini akan ditemukan pertama kali.
Contoh 2
Dengan asumsi bahwa kita mencari elemen <li>:
$('li.item-a').closest('li').css('background-color', 'red');
Ini akan mengubah warna item daftar A. Sebelum memulai pengembalian ke arah atas pohon DOM, metode .closest() akan mulai mencari dari elemen li sendiri, sampai mencocokkan item A.
Contoh 3
Kami dapat mengirimkan elemen DOM sebagai konteks, di mana mencari elemen yang paling dekat.
var listItemII = document.getElementById('ii'); $('li.item-a').closest('ul', listItemII).css('background-color', 'red'); $('li.item-a').closest('#one', listItemII).css('background-color', 'green');
Kode di atas akan mengubah warna <ul> level-2, karena ia keduanya kakek pertama <ul> item A dan turunannya item II. Ia tidak akan mengubah warna <ul> level-1, karena ia bukan turunannya item II.