Pelengkap jQuery - Kaedah end()
Contoh
Pilih semua paragraf, cari element span di dalam paragraf itu, dan pulihkan mereka ke dalam paragraf, dan atur paragraf dengan garisan pinggir merah dengan lebar dua piksel:
$("p").find("span").end().css("border", "2px red solid");
Pengertian dan penggunaan
Kaedah end() mengakhiri operasi penapisan terdekat dalam rantaian dan mengembalikan set element ke keadaan sebelumnya.
Sintaks
.end()
Pengertian dan penggunaan
Banyak kaedah pelengkap jQuery akan mengoperasikan satu instansia objek jQuery dan menghasilkan satu objek baru yang mencocokkan set DOM element yang berbeza. Apabila hal ini berlaku, hendaklah meletakkan set element baru ke dalam jaringan yang dijaga di dalam objek. Setiap panggilan kaedah penapisan yang berjaya akan meletakkan element baru ke dalam jaringan. Jika kami memerlukan set element lama, boleh menggunakan end() untuk keluarkan set baru daripada jaringan.
Dipercaya ada pasangan senarai yang sangat pendek di halaman:
<ul class="first"> <li class="foo">item daftar 1</li> <li>item daftar 2</li> <li class="bar">item daftar 3</li> </ul> <ul class="second"> <li class="foo">item daftar 1</li> <li>item daftar 2</li> <li class="bar">item daftar 3</li> </ul>
Contoh 1
Utamanya memanfaatkan properti garis perintah (garis perintah) jQuery yang sangat berguna. Jika tidak menggunakan garis perintah, biasanya kita memanggil objek sebelumnya melalui nama variabel, sehingga kita tidak perlu mengoperasikan tumpukan. Namun, melalui end(), kita dapat menyambungkan semua pemanggilan metode:
$('ul.first').find('.foo').css('background-color', 'red') .end().find('.bar').css('background-color', 'green');
Perintah ini mencari item pertama dalam senarai dengan kelas foo, dan mengubah warna latar belakang mereka ke merah. End() akan mengembalikan objek ke keadaan sebelum pemanggilan find(), jadi find() kedua mencari '.bar' dalam <ul class="first">, bukan mencari dalam <li class="foo"> di dalam senarai, dan mengubah warna latar belakang elemen yang cocok ke hijau. Hasil akhir adalah item 1 dan item 3 di dalam senarai pertama yang diatur dengan warna latar belakang berwarna, manakala item di dalam senarai kedua tetap sama.
Contoh 2
Garis kode panjang ini boleh diwarasakan dalam blok kode struktural, metode penilaian membuka blok kode yang terkubur, manakala metode end() digunakan untuk menutup blok kode:
$('ul.first').find('.foo') .css('background-color', 'red') .end().find('.bar') .css('background-color', 'green') .end();
End() ini bukan wajib, kerana kami akan melepaskan objek jQuery ini nanti. Walau bagaimanapun, jika kode ditulis dalam bentuk ini, end() akan memberikan kesan simetri visual, serta memberikan kesan program yang teratur, sekurang-kurangnya untuk para pengembang yang lebih mudah dibaca, tetapi harga yang dibayar adalah kehilangan kinerja yang kecil disebabkan oleh pemanggilan tambahan.