Maison > interface Web > js tutoriel > Comment vérifier efficacement la présence d'une classe d'éléments en JavaScript ?

Comment vérifier efficacement la présence d'une classe d'éléments en JavaScript ?

DDD
Libérer: 2024-11-30 20:30:16
original
705 Les gens l'ont consulté

How to Efficiently Check for Element Class Presence in JavaScript?

Vérification de la présence d'une classe d'élément en JavaScript

En utilisant JavaScript de base, comment pouvez-vous déterminer si un élément contient une classe spécifique ? Lors de l'utilisation de la propriété className, une correspondance exacte de classe est requise, ce qui entraîne des limitations lorsqu'un élément a plusieurs classes.

Solution : element.classList.contains

Element. classList expose une méthode .contains spécialement conçue à cet effet :

element.classList.contains(className);
Copier après la connexion

Cette méthode est prise en charge par tous les navigateurs modernes et peut être polyfilled pour les anciennes versions.

Alternative : Utilisation d'indexOf

Vous pouvez également utiliser element.className et indexOf pour les navigateurs plus anciens qui ne prennent pas en charge classList, mais des ajustements mineurs sont nécessaires pour garantir l'exactitude :

function hasClass(element, className) {
    return (' ' + element.className + ' ').indexOf(' ' + className+ ' ') > -1;
}
Copier après la connexion

Cela garantit que la classe recherchée n'est pas une sous-chaîne d'une autre classe nom.

Exemple de code

Pour appliquer cette solution à votre situation spécifique :

var test = document.getElementById("test");
var 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;
    }
}
Copier après la connexion

Ce code utilise une approche plus efficace en parcourant un tableau prédéfini de classes potentielles, réduisant la redondance et améliorant la maintenabilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal