Cara Menggunakan Kelas Khusus dalam JavaScript untuk Mengira Sel Jadual

Active

Mencetuskan Modal dengan Kiraan Kelas Aktif dalam Jadual

Anda mungkin ingin menggunakan tingkah laku tersuai berdasarkan kandungan setiap sel semasa bekerja dengannya . Sebagai contoh, anda boleh menggunakan corak atau kriteria tertentu untuk menetapkan kelas secara dinamik kepada sel jadual. Meja anda mungkin menjadi lebih berguna dan menarik akibatnya.

Dalam contoh ini, sel jadual yang memenuhi keperluan tertentu akan mempunyai kelas yang dinamakan ditambah kepada mereka. A fungsi yang memeriksa setiap sel, mengesahkan kandungannya, dan kemudian menggunakan kelas dengan sewajarnya digunakan untuk melakukan ini. Ia adalah kaedah yang produktif untuk mengatur sel tertentu mengikut data mereka.

Selepas menggunakan kelas kepada subset sel, mengira bilangan sel yang mempunyai kelas ini boleh menjadi langkah seterusnya yang kerap. Jika anda ingin memulakan acara atau tindakan, membuka modal sedemikian yang menunjukkan kiraan, mengira sel ini boleh membantu.

Tutorial ini akan mengajar anda cara menggunakan JavaScript untuk mengira bilangan sel yang mempunyai kelas dan untuk melancarkan modal secara automatik yang menunjukkan kiraan. menggunakan , penyelesaiannya adalah mudah, cekap dan mudah untuk dilaksanakan.

Perintah Contoh Penggunaan
.each() Setiap elemen dalam set elemen dipadankan diulang oleh fungsi jQuery ini. Ia menggunakan logik bersyarat atau kelas dengan mengulangi setiap sel jadual () in our example.
addClass() The selected items receive one or more class names added to them by this jQuery method. The script applies the atau kelas ke sel mengikut kandungannya.
.dialog() Used with jQuery UI to generate a modal dialog. When the script triggers the modal, the autoOpen: true option makes sure it opens automatically and shows the number of active items.
.text() The text content of the chosen components is retrieved or set using this technique. In this instance, it checks to see if the contents of every sel sepadan dengan corak tertentu.
RegExp() Ungkapan biasa dibuat dengan pembina JavaScript ini. Skrip boleh menetapkan kelas berdasarkan kandungan dengan mengenal pasti corak seperti atau .
classList.add() Teknik JavaScript asas ini memberikan elemen kelas tertentu. Ia berfungsi sama dengan addClass() jQuery dalam penyelesaian JavaScript vanila, sambil menambah atau kelas bergantung pada keadaan.
DOMContentLoaded Apabila dokumen HTML telah selesai memuatkan dan menghuraikan, peristiwa DOMContentLoaded akan dicetuskan. Dalam contoh JavaScript vanila, ia memastikan skrip dilaksanakan selepas DOM selesai dimuatkan.
querySelectorAll() Setiap elemen dalam dokumen yang sepadan dengan pemilih CSS yang diberikan dikembalikan oleh fungsi JavaScript ini. Dalam contoh JavaScript asas, ia digunakan untuk memilih setiap element in the table for further processing.
forEach() An array method in JavaScript that lets you iterate over elements. Here, it's utilized to iterate over every table cell that querySelectorAll() returned and apply the required logic to each one.

Memahami Skrip: Mengira Sel dan Mencetuskan Modal

Dalam contoh skrip pertama, setiap sel jadual diulang, kandungannya dinilai dan kelas ditetapkan bergantung pada penilaian menggunakan . Ciri ini dimungkinkan dengan mengulangi setiap satu

item dalam jadual menggunakan kaedah. Ungkapan biasa digunakan untuk menggunakan dua semakan bersyarat di dalam gelung ini. Corak ini memastikan sama ada kandungan setiap sel mematuhi format tertentu. Sel mendapat kelas jika kandungan mengikut corak, seperti nombor dan huruf besar. Untuk sel dikategorikan secara dinamik, ini penting.

Dengan pembina, ungkapan biasa untuk nombor yang sepadan diikuti dengan huruf dibina. Teknik ini memastikan bahawa sel dengan data, seperti "1A" atau "3C," dikenali dan dilabelkan dengan kelas semasa. Sel menerima kelas berasingan yang dipanggil jika kandungan sepadan dengan corak yang berbeza, seperti "c" diikuti dengan nombor. Ini memungkinkan untuk mengklasifikasikan data dalam jadual dengan lebih tepat. Tambahan pula, kaedah menjamin bahawa sel boleh menambah kelas ini tanpa memadamkan sebarang kelas yang mungkin sudah ada.

Langkah seterusnya ialah mengira sel yang sesuai dan memulakan modal selepas semuanya ditandakan dengan kelas aktif. Setiap kali sel memperoleh kelas aktif, kiraan akan ditambah dan disimpan dalam pembolehubah bernama . Bilangan sel yang layak dalam jadual mesti dipastikan menggunakan kiraan ini. Menggunakan fungsi daripada jQuery UI, modal dijana apabila pengiraan selesai. The atribut membenarkan modal dibuka secara automatik. Bilangan sel aktif ditunjukkan di dalam modal.

Dalam kes kedua, JavaScript vanila digunakan untuk menduplikasi prosedur yang sama. digunakan sebagai ganti jQuery dalam pendekatan ini untuk memilih semua sel jadual, dan mudah gelung berulang melalui setiap sel. Ungkapan biasa digunakan untuk memadankan kandungan sel, sama seperti dalam penyelesaian jQuery. Jika padanan ditemui, activeCount dikemas kini dan kelas aktif ditambah menggunakan kaedah. Akhirnya, mengubah HTML dalaman unsur modal yang dipratentukan dalam DOM mengaktifkan modal. Hasil yang sama seperti contoh jQuery dicapai menggunakan penyelesaian ini, yang tidak bergantung pada perpustakaan luar.

Mengira Sel dengan Kelas Tertentu dan Mencetuskan Modal

Kaedah ini mengira item yang mempunyai kelas tertentu dan secara dinamik memberikan kelas kepada mereka menggunakan . Ia kemudian membuka tetingkap modal.

$(document).ready(function() {
  var activeCount = 0;
  $('td').each(function() {
    var $this = $(this);
    if ($this.text().match(new RegExp(/[0-9][A-Z]/)) !== null) {
      $this.addClass('active');
      activeCount++;
    }
    if ($this.text().match(new RegExp(/c[0-9]/)) !== null) {
      $this.addClass('none');
    }
  });
  // Trigger the modal with the count of 'active' items
  $('#myModal').dialog({ autoOpen: true, modal: true, title: 'Active Count',
      open: function() { $(this).html('Number of active items: ' + activeCount); } });
});

Alternatif: Menggunakan JavaScript Vanila untuk Mengira Sel Aktif

Daripada bergantung pada perpustakaan pihak ketiga seperti jQuery, penyelesaian ini menambah kelas dan mengira sel menggunakan .

document.addEventListener('DOMContentLoaded', function() {
  var cells = document.querySelectorAll('td');
  var activeCount = 0;
  cells.forEach(function(cell) {
    if (/[0-9][A-Z]/.test(cell.textContent)) {
      cell.classList.add('active');
      activeCount++;
    } else if (/c[0-9]/.test(cell.textContent)) {
      cell.classList.add('none');
    }
  });
  // Open the modal to display the count
  var modal = document.getElementById('myModal');
  modal.style.display = 'block';
  modal.innerHTML = 'Number of active items: ' + activeCount;
});

Pendekatan Backend: Menggunakan Node.js dan Express dengan Templat EJS

ini contoh kegunaan untuk menjadikan kiraan sel dalam tetingkap modal sambil mengira sel sebelah pelayan.

const express = require('express');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
  const tableData = [['1A', '2B', '3C'], ['c1', '4D', '5E']];
  let activeCount = 0;
  tableData.forEach(row => {
    row.forEach(cell => {
      if (/[0-9][A-Z]/.test(cell)) {
        activeCount++;
      }
    });
  });
  res.render('index', { activeCount });
});
app.listen(3000, () => console.log('Server running on port 3000'));

Ujian Unit dengan Jest untuk Penyelesaian Bahagian Belakang

Di sini, kami membangunkan ujian unit untuk penyelesaian Node.js menggunakan untuk menjadikan logik kiraan aktif berfungsi seperti yang dimaksudkan.

const { countActiveCells } = require('./countActive');
test('counts active cells correctly', () => {
  const tableData = [['1A', '2B', '3C'], ['c1', '4D', '5E']];
  expect(countActiveCells(tableData)).toBe(4);
});
test('returns zero if no active cells', () => {
  const tableData = [['c1', 'c2', 'c3'], ['c4', 'c5', 'c6']];
  expect(countActiveCells(tableData)).toBe(0);
});

Memperluas pada Pemilihan Sel dan Pengendalian Kelas dalam JavaScript

Bekerja dengan dan juga melibatkan keupayaan untuk mengubah suai kelas secara dinamik sebagai tindak balas kepada input atau kandungan pengguna. Anda boleh melakukan lebih daripada sekadar mengira sel; anda juga boleh mengendalikan input pengguna dan menukar kandungan jadual dengan serta-merta. Sebagai contoh, menggunakan kaedah seperti dalam jQuery atau classList.remove() dalam JavaScript vanila, anda boleh mengubah suai kelas secara dinamik, menyerlahkan atau mengalih keluar kelas apabila pengguna mengklik pada sel jadual. Jadual menjadi jauh lebih interaktif akibatnya, dan penyesuaian selanjutnya berdasarkan kemas kini kandungan dalam masa nyata adalah mungkin.

Jadual yang memaparkan data masa nyata di mana sel tertentu perlu diasingkan secara visual bergantung pada perubahan kelas akan menjadi kes penggunaan yang berguna untuk ini. Mudah untuk mengikat fungsi yang menyebabkan pengubahsuaian ini dengan menggunakan pendengar acara. Dalam JavaScript, sebagai contoh, anda boleh menggunakan untuk mendengar acara pada sel tertentu, seperti klik atau tekanan kekunci. Pengubahsuaian kelas tambahan atau kemas kini ke kaunter yang mencerminkan bilangan sel dalam jadual mungkin terhasil daripada interaksi ini.

Anda juga boleh memikirkan situasi di mana sel harus mengemas kini secara automatik tanpa sebarang input daripada pengguna. Kandungan jadual boleh dikemas kini dan dipantau secara berterusan melalui selang masa atau panggilan AJAX. Ungkapan dan kaedah biasa seperti benarkan jadual menukar kelasnya secara automatik dan melancarkan modal apabila ambang dicapai. Jadual kini boleh digunakan dalam aplikasi yang lebih dinamik, seperti papan pemuka dan tetapan dipacu data.

  1. Dalam JavaScript vanila, bagaimanakah saya boleh mengira komponen yang tergolong dalam kelas tertentu?
  2. Untuk memilih setiap elemen dengan kelas itu, gunakan ; untuk mengira mereka, gunakan .
  3. Berdasarkan kandungan sel jadual, bagaimana saya boleh menambah kelas padanya?
  4. Anda boleh memohon kelas menggunakan dan memeriksa kandungan sel menggunakan atau harta benda.
  5. Apa yang membezakan dalam JavaScript vanila daripada dalam jQuery?
  6. ialah harta JavaScript asli, dan ialah kaedah jQuery yang mendapatkan semula atau mengubah suai kandungan elemen yang dipilih.
  7. Apabila mengira sel yang tergolong dalam kelas tertentu, bagaimana saya boleh memulakan modal?
  8. Untuk membina modal dalam jQuery dan menjadikannya pencetus bergantung pada bilangan item dengan kelas tertentu, gunakan .
  9. Dalam JavaScript, bagaimana saya boleh mengeluarkan kelas daripada elemen?
  10. Dalam JavaScript vanila, anda boleh gunakan untuk mengalih keluar kelas daripada elemen.

JavaScript atau jQuery boleh digunakan untuk mengurus sel mengira dengan kelas tertentu, seperti , dengan cara yang berkesan. Ungkapan biasa ialah alat yang berguna untuk mengenal pasti corak dalam kandungan jadual, yang memudahkan tugasan kelas dinamik dan interaksi lain.

Tambahan pula, kaedah berguna untuk memaklumkan pengguna tentang status jadual adalah dengan memulakan modal berdasarkan bilangan sel aktif ini. The fungsi dalam jQuery atau modal tersuai ialah dua kaedah yang memberikan banyak kepelbagaian dalam mengendalikan kandungan jadual.

  1. Maklumat mengenai penambahan kelas secara dinamik dan pengendalian kandungan menggunakan JavaScript dan jQuery diperoleh daripada panduan terperinci yang terdapat di Dokumentasi API jQuery .
  2. Cerapan menggunakan ungkapan biasa dalam JavaScript untuk memanipulasi kandungan telah dirujuk daripada dokumentasi yang ditemui di Dokumen Web MDN .
  3. Penciptaan modal menggunakan kaedah Dialog UI jQuery dan penggunaan terperincinya boleh diterokai di Dokumentasi Dialog UI jQuery .
  4. Kepentingan mengira elemen dengan kelas khusus dalam JavaScript dan contoh praktikal boleh disemak dalam artikel seperti Panduan JavaScript FreeCodeCamp .