jQuery 遍历 - parents() 方法
定义和用法
parents() 会员元素集合中每个元素的祖先元素,使用选择器进行筛选是可选的。
.parents()selector)
Parameter | Deskripsi |
---|---|
selector | Nilai string, berisi ekspresi pemilih yang digunakan untuk mencocokkan elemen. |
Penjelasan detil
Jika diberikan objek jQuery yang mewakili kumpulan elemen DOM, metode .parents() memungkinkan kami mencari elemen kerabat dari elemen ini di pohon DOM dan membuat objek jQuery baru dari elemen yang cocok, diurutkan dari elemen induk terdekat ke atas. Elemen akan dikembalikan dalam urutan dari elemen induk terdekat ke luar. .parents() dan .parent() Metode yang sama, tetapi yang terakhir bergerak ke atas tingkat tunggal di pohon DOM.
Metode ini menerima ekspresi pemilih pilihan, yang sama seperti tipe parameter yang disampaikan ke fungsi $(). Jika pemilih ini diterapkan, elemen akan disaring melalui pengujian apakah elemen cocok dengan pemilih.
Pikirkan halaman ini dengan daftar yang diimbangi secara dasar:
<ul class="level-1"> <li class="item-i">I</li> <li 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>
Jika kami mulai dari item A, elemen kerabatnya dapat ditemukan:
$('li.item-a').parents().css('background-color', 'red');
Hasil pemanggilan ini adalah, latar belakang merah diset untuk elemen seperti daftar level-2, item II dan daftar level-1 (berjalan naik hingga <html>) kerana kami belum menerapkan ekspresi pemilih. Elementor induk alami menjadi bagian dari objek. Jika ekspresi pemilih sudah diterapkan, pengujian elemen apakah cocok dengan pemilih akan dilakukan sebelum elemen yang disertakan. Kerana kami belum menerapkan ekspresi pemilih, semua elemen kerabat adalah bagian dari objek jQuery yang dihasilkan. Jika ekspresi pemilih sudah diterapkan, hanya item yang cocok saja yang akan disertakan.