Hari ini, saya menemukan komentar tinjauan kode di salah satu proyek yang saya kerjakan, minta seseorang untuk memeriksa apakah kelas ada sebelum memanggil addClass di jQuery.

Komentar ulasan dibaca sebagai,

Harap lakukan deleteClass sebelum memanggil addClass untuk menghindari penambahan nama kelas duplikat ke elemen

Saya berasumsi bahwa jQuery akan memeriksa apakah kelas ada pada elemen sebelum menambahkannya. Saya baru saja melihat kode sumbernya dan di bawah ini adalah pembelajaran saya.

jQuery melakukan pemeriksaan berikut ketika addClass dipanggil.

  1. Jika nilai yang diteruskan adalah sebuah fungsi, maka akan dipanggil pada setiap elemen turunan. Ini berguna untuk elemen jenis SVG.
  2. Nilai yang diteruskan diubah menjadi Array.
  3. Setiap elemen array (kelas) diproses.
  4. Jika kelas tidak ada (metode indexOf digunakan untuk menemukannya), kelas akan ditambahkan ke kelas.
  5. Jika kelas ada pada elemen, maka akan dilewati.