Maison > interface Web > tutoriel CSS > Comment puis-je vérifier de manière fiable la présence d'une classe spécifique en JavaScript ?

Comment puis-je vérifier de manière fiable la présence d'une classe spécifique en JavaScript ?

Barbara Streisand
Libérer: 2024-12-25 06:05:17
original
748 Les gens l'ont consulté

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

Détermination de la présence d'une classe d'élément en JavaScript

Lors de l'inspection des attributs de classe d'un élément, il est souvent nécessaire de vérifier s'il contient une classe spécifique. Le code fourni utilise une instruction switch pour examiner la valeur de classe exacte d'un élément, mais cette approche ne parvient pas à détecter les correspondances partielles.

Pour résoudre cette limitation, envisagez d'utiliser la méthode element.classList .contains. Cette méthode accepte un nom de classe comme paramètre et renvoie un booléen indiquant sa présence dans la liste des classes de l'élément :

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

Cette méthode est universellement prise en charge par les navigateurs modernes et fournit un moyen cohérent de vérifier l'inclusion de classe.

Alternativement, pour des raisons de compatibilité avec les navigateurs plus anciens dépourvus de la méthode .contains, vous pouvez utiliser la version modifiée suivante de indexOf méthode :

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

Cette modification garantit que vous détectez avec précision les correspondances partielles, évitant ainsi les faux positifs lorsque la classe que vous recherchez fait partie d'un nom de classe plus grand.

Application de cette méthode à l'exemple fourni :

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;
    }
}
Copier après la connexion

En employant la méthode .contains ou la fonction indexOf modifiée, vous pouvez déterminer de manière fiable si un élément contient une classe spécifique en JavaScript, indépendamment de compatibilité du navigateur ou de présence de correspondances partielles.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal