Bagaimana untuk Mengembangkan/Meruntuhkan Baris Jadual dengan jQuery?

Patricia Arquette
Lepaskan: 2024-11-03 07:54:03
asal
737 orang telah melayarinya

How to Expand/Collapse Table Rows with jQuery?

Kembangkan/Rutuhkan Baris Jadual dengan jQuery

Membesar dan meruntuhkan baris jadual berdasarkan klik pengepala ialah keperluan biasa dalam reka bentuk web. Dalam artikel ini, kami akan meneroka cara untuk mencapai ini menggunakan jQuery.

Memandangkan struktur jadual berikut:

<code class="html"><table>
  <tr>
    <td colspan="2">Header</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td colspan="2">Header</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
  <tr>
    <td>data</td>
    <td>data</td>
  </tr>
</table></code>
Salin selepas log masuk

Kita boleh mendekati tugas ini dengan memberikan kelas unik kepada setiap baris pengepala. Apabila pengepala diklik, kita boleh menggunakan kaedah nextUntil untuk memilih semua baris di bawahnya sehingga pengepala seterusnya. Ini membolehkan kami meruntuhkan atau mengembangkan hanya baris yang berkaitan berdasarkan pengepala yang telah diklik.

Berikut ialah coretan kod jQuery yang mudah untuk melaksanakan gelagat ini:

<code class="js">$('.header').click(function(){
    $(this).nextUntil('tr.header').slideToggle(1000);
});</code>
Salin selepas log masuk

Dalam kod ini, kami lampirkan acara klik pada semua elemen dengan kelas pengepala. Apabila pengepala diklik, ia mencari semua baris berikutnya sehingga pengepala seterusnya dan menogol keterlihatannya menggunakan slideToggle.

Kaedah Alternatif

Pilihan lain ialah menggunakan kaedah togol dan bukannya slideToggle, yang menyediakan pelaksanaan yang lebih mudah:

<code class="js">$('.header').click(function () {
    $(this).toggleClass('expand');
    $(this).nextUntil('tr.header').toggle();
});</code>
Salin selepas log masuk

Di sini, kami menogol kelas kembangkan pada pengepala yang diklik dan menogol paparan semua baris berikutnya menggunakan togol.

Akhir sekali, elemen pseudo CSS juga boleh digunakan untuk gambaran yang lebih visual bagi keadaan pengembangan/runtuh:

<code class="css">.header .sign:after {
  content: "+";
  display: inline-block;
}

.header.expand .sign:after {
  content: "-";
}</code>
Salin selepas log masuk
<code class="js">$('.header').click(function () {
    $(this).toggleClass('expand');
    $(this).nextUntil('tr.header').slideToggle(100);
});</code>
Salin selepas log masuk

Dalam versi ini, kelas kembangkan juga menukar tanda yang dipaparkan oleh unsur pseudo CSS daripada tambah kepada tolak, memberikan petunjuk visual keadaan baris.

Atas ialah kandungan terperinci Bagaimana untuk Mengembangkan/Meruntuhkan Baris Jadual dengan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan