Maison > interface Web > tutoriel CSS > Comment puis-je vérifier efficacement si un élément JavaScript DOM contient une classe spécifique ?

Comment puis-je vérifier efficacement si un élément JavaScript DOM contient une classe spécifique ?

Susan Sarandon
Libérer: 2025-01-01 12:53:14
original
963 Les gens l'ont consulté

How Can I Efficiently Check if a JavaScript DOM Element Contains a Specific Class?

Vérifier si un élément contient une classe en JavaScript

En JavaScript, vous pouvez rencontrer des scénarios dans lesquels vous devez déterminer si un élément DOM contient une classe spécifique. Bien que votre approche actuelle utilisant element.className et une instruction switch puisse fonctionner, elle présente des limites lorsqu'un élément a plusieurs classes.

Utilisation d'element.classList.contains()

Pour une meilleure compatibilité entre navigateurs, vous pouvez utiliser la méthode element.classList.contains() :

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

Cette méthode renvoie un booléen indiquant si l'élément a la classe spécifiée. Il est pris en charge dans tous les principaux navigateurs.

Approche alternative avec indexOf

Si vous utilisez des navigateurs existants qui ne prennent pas en charge element.classList, vous pouvez modifier votre approche indexOf existante comme suit :

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

Cela garantit que la vérification ne renvoie vrai que si la classe que vous recherchez n'est pas contenue dans une autre nom de la classe.

Exemple d'implémentation

Application des techniques mises à jour à votre exemple :

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

Cette approche gère le cas où l'élément de test a plusieurs classes, garantissant que la classe correcte est détectée même si son ordre ou des classes supplémentaires sont présentes.

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