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!