Comment puis-je vérifier en JavaScript si un élément DOM contient une classe?
Comment puis-je vérifier en JavaScript si un élément du DOM contient une classe?
J'ai essayé le code suivant, mais pour une raison que ça ne fonctionne pas...
if (document.getElementById('element').class == "class_one") {
//code...
}
source d'informationauteur Florian Müller
Vous devez vous connecter pour publier un commentaire.
Pour obtenir la totalité de la valeur de l'attribut de classe, l'utilisation
.className
De MDC:
Depuis 2013, vous obtenez une main secourable.
Il y a plusieurs années, lorsque cette question a d'abord été répondu,
.className
était le seul réel solution en JavaScript. Depuis 2013, tous les navigateurs prennent en charge.classList
interface.JavaScript:
Vous pouvez aussi faire des choses amusantes avec
classList
comme.toggle()
.add()
et.remove()
.MDN documentation.
Compatible code:
La propriété que vous avez besoin est
className
pasclass
. Aussi, un élément peut avoir plusieurs classes, donc si vous voulez tester si il a une classe particulière, vous devez faire quelque chose comme ce qui suit:Mise à JOUR
Les navigateurs modernes (à peu près tout majeur sauf IE <= 9) de support d'un
classList
bien, comme mentionné dans @Abandonné.sur.Caprica jusqu'réponse. Il est donc logique d'utiliser ce lieu. Voici un exemple de code qui détecte siclassList
est pris en charge par le navigateur et retombe à la regex code autrement:C'est le
.className
de la propriétécomme ceci:Une meilleure solution que l'ensemble de ces (si vous utilisez HTML5) est d'utiliser la classList API.
toggleClass sur l'élément
ou
Si vous utilisez jQuery, juste ce code simple pour vous aider:
Si vous voulez vérifier plus de 2 classes à la page, puis utilisez
$('.yourclass').length > 2