2010-09-27 4 views
2

Comment vérifiez-vous si la classe affectée à un div? Par exemple, je veux vérifier si un div a une classe de header-link alors il doit alerter une boîte de message semblable à ceci:Vérification de la classe d'élément par jQuery

$('.header a').click(function() 
{ 
    if($(this).classname == 'header-link') 
    { 
     alert('the element has the class name already'); 
    } 
    else 
    { 
     $(this).addClass('header-link'); 
    } 
}); 

Le classname je mets là un exemple que je dois faire vérifier si a la classe affectée ou non ... (même lorsque jQuery l'a assigné dynamiquement).

+1

Je suis curieux de savoir pourquoi vous êtes vérifier s'il a déjà la classe? –

Répondre

4

On dirait que vous voulez .hasClass()

$('.header a').click(function() 
{ 
    if($(this).hasClass('header-link')) 
    { 
     alert('the element has the class name already'); 
    } 
    else 
    { 
     $(this).addClass('header-link'); 
    } 
}); 
1

utiliser la fonction $(this).hasClass('header-link') Il retourne vrai si l'élément a la classe que vous spécifiez

modifier: mise à jour pour la validité

5

La vérification correcte est .hasClass() comme ceci:

$('.header a').click(function() { 
    if($(this).hasClass('header-link')) { 
    alert('the element has the class name already'); 
    } else { 
    $(this).addClass('header-link'); 
    } 
}); 

mais ... avez-vous même besoin de cette vérification? Si l'élément déjà a la classe .addClass() ne sera pas ajouter un doublon, donc si c'est votre souci ne cochez pas, il suffit d'appeler .addClass('header-link') comme ceci:

$('.header a').click(function() { 
    $(this).addClass('header-link'); 
}); 
Questions connexes