Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Memeriksa dengan Cekap sama ada Elemen JavaScript Mengandungi Kelas Tertentu?

Bagaimana untuk Memeriksa dengan Cekap sama ada Elemen JavaScript Mengandungi Kelas Tertentu?

Susan Sarandon
Susan Sarandonasal
2024-12-19 19:09:09765semak imbas

How to Efficiently Check if a JavaScript Element Contains a Specific Class?

Cara Menyemak sama ada Elemen Mengandungi Kelas dalam JavaScript

Menyemak sama ada elemen mengandungi kelas tertentu dalam JavaScript ialah tugas biasa. Walaupun ada kemungkinan untuk menggunakan pernyataan suis untuk membandingkan atribut kelas elemen, kaedah ini mempunyai had apabila berurusan dengan elemen yang mempunyai berbilang kelas.

Untuk penyelesaian yang lebih mantap, pertimbangkan untuk menggunakan kaedah element.classList.contains:

element.classList.contains('class-name');

Kaedah ini mengembalikan benar jika elemen mempunyai kelas yang ditentukan dan palsu sebaliknya. Ia menyokong semua penyemak imbas moden dan mempunyai polyfill tersedia untuk penyemak imbas lama.

Pendekatan Alternatif:

Jika anda perlu menyokong penyemak imbas lama dan polyfills bukan pilihan, anda boleh gunakan kaedah indexOf tweak berikut:

function hasClass(element, className) {
  return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;
}

Kaedah ini memastikan carian dilakukan dalam keseluruhan atribut kelas, menghalang positif palsu daripada padanan separa.

Memohon pada Contoh:

Dalam contoh yang disediakan, kita boleh menggunakan kaedah hasClass untuk memudahkan kod dan mencapai hasil yang diingini:

var test = document.getElementById('test');

for (var i = 0, j = classes.length; i < j; i++) {
  if (hasClass(test, classes[i])) {
    test.innerHTML = 'I have ' + classes[i];
    break;
  }
}

Kod ini berulang ke atas tatasusunan kelas dan menyemak sama ada mana-mana daripadanya terkandung dalam atribut kelas elemen. Ia merupakan penyelesaian yang lebih cekap dan fleksibel daripada menggunakan pernyataan suis atau padanan rentetan.

Atas ialah kandungan terperinci Bagaimana untuk Memeriksa dengan Cekap sama ada Elemen JavaScript Mengandungi Kelas Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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