106 votes

Comment obtenir la classe de l'élément cliqué ?

Je n'arrive pas à trouver comment obtenir la class de l'élément cliqué.

Quand j'utilise le code ci-dessous, j'obtiens "node-205" à chaque fois.

jQuery :

.find('> ul')
.tabs(
{
    selectedClass: 'active',
    select: function (event, ui) {
        //shows only the first element of list
        $(this).children('li').attr('class');
    },
    cookie: { expires: 0 },
    fx: fx
})

HTML :

<ul class="tabs">
  <li class="node-205"></li>
  <li class="node-150"></li>
  <li class="node-160"></li>
</ul>

194voto

Steve Fenton Points 55265

Voici un exemple rapide de jQuery qui ajoute un événement de clic à chaque balise "li", puis récupère l'attribut de classe de l'élément cliqué. J'espère que cela vous aidera.

$("li").click(function() {
   var myClass = $(this).attr("class");
   alert(myClass);
});

De même, il n'est pas nécessaire d'envelopper l'objet dans jQuery :

$("li").click(function() {
   var myClass = this.className;
   alert(myClass);
});

Et dans les navigateurs plus récents, vous pouvez obtenir l'icône liste complète des noms de classes :

$("li").click(function() {
   var myClasses = this.classList;
   alert(myClasses.length + " " + myClasses[0]);
});

Vous pouvez imiter classList dans les anciens navigateurs utilisant myClass.split(/\s+/);

28voto

Harpal Points 769
$("li").click(function(){
    alert($(this).attr("class"));
});

9voto

jeroen.verhoest Points 3852

Cela devrait faire l'affaire :

...
select: function(event, ui){ 
   ui.tab.attr('class');
} ,
...

Pour plus d'informations sur l'onglet ui.tab, voir http://jqueryui.com/demos/tabs/#Events

4voto

Roman Points 41

Veuillez consulter le .each() méthode

1voto

Pushkraj Points 159
$("div").click(function() 
{
   var txtClass = $(this).attr("class");
   Console.log("Class Name : "+txtClass);
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X