Rumah >hujung hadapan web >tutorial css >Bagaimanakah Saya Boleh Memeriksa Kehadiran Kelas Tertentu dalam JavaScript dengan Amanah?

Bagaimanakah Saya Boleh Memeriksa Kehadiran Kelas Tertentu dalam JavaScript dengan Amanah?

Barbara Streisand
Barbara Streisandasal
2024-12-25 06:05:17732semak imbas

How Can I Reliably Check for the Presence of a Specific Class in JavaScript?

Menentukan Kehadiran Kelas Unsur dalam JavaScript

Apabila memeriksa atribut kelas elemen, selalunya perlu untuk mengesahkan sama ada ia mengandungi kelas tertentu. Kod yang disediakan menggunakan pernyataan suis untuk memeriksa nilai kelas tepat elemen, tetapi pendekatan ini gagal mengesan padanan separa.

Untuk menyelesaikan pengehadan ini, pertimbangkan penggunaan kaedah element.classList .contains. Kaedah ini menerima nama kelas sebagai parameter dan mengembalikan boolean yang menunjukkan kehadirannya dalam senarai kelas elemen:

element.classList.contains(class);

Kaedah ini disokong secara universal merentas penyemak imbas moden dan menyediakan cara yang konsisten untuk menyemak kemasukan kelas.

Sebagai alternatif, untuk keserasian dengan penyemak imbas lama yang tidak mempunyai kaedah .contains, anda boleh menggunakan versi diubah suai berikut Kaedah indexOf:

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

Pengubahsuaian ini memastikan anda mengesan padanan separa dengan tepat, mengelakkan positif palsu apabila kelas yang anda cari adalah sebahagian daripada nama kelas yang lebih besar.

Menggunakan kaedah ini pada yang disediakan contoh:

var test = document.getElementById("test"),
    classes = ['class1', 'class2', 'class3', 'class4'];

test.innerHTML = "";

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

Dengan menggunakan kaedah .contains atau fungsi indexOf yang diubah suai, anda boleh dipercayai tentukan sama ada elemen mengandungi kelas tertentu dalam JavaScript, tanpa mengira keserasian penyemak imbas atau kehadiran padanan separa.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa Kehadiran Kelas Tertentu dalam JavaScript dengan Amanah?. 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