67 votes

Comment obtenir le nom de la deuxième classe de element?

J'essaie de trouver comment récupérer le deuxième nom de classe d'un attribut de classe.

Par exemple, avoir:

 <div class="something fooBar"></div>
 

Comment puis-je obtenir le deuxième cours nommé "fooBar"?

Je sais que vous pouvez ajouter, supprimer et vérifier une classe spécifique, mais je n’ai pas trouvé de documentation pour récupérer une seconde classe dans une variable.

125voto

Sarfraz Points 168484

Vous pouvez utiliser split comme ceci:

 alert($('#divID').attr('class').split(' ')[1]);
 

Pour obtenir toutes les classes, vous pouvez le faire à la place:

 var classes = $('#divID').attr('class').split(' ');

for(var i=0; i<classes.length; i++){
  alert(classes[i]);
}
 

Plus d'informations:

11voto

John Hartsock Points 36565

C'est de cette façon que vous le feriez par la référence à un div ID

$(document).ready( function () {
  alert($('#yourDivID').attr('class').split(' ')[1]);
});

La fonction de répartition va vous permettre de découper une chaîne avec le séparateur spécifié. Cette retournera un tableau de vos valeurs séparées. Dans ce cas retournera un tableau de noms de classe.

De référence pour fractionner une autre chaîne méthodes http://www.javascriptkit.com/javatutors/string4.shtml

Vous devriez regarder dans les Sélecteurs jQuery et de Fonctions permettant d'accéder aux classes

Sélecteurs

http://api.jquery.com/class-selector/ sélectionnez un élément du dom avec la classe spécifiée

http://api.jquery.com/has-selector/ sélectionnez un élément du dom qui a le sélecteur de spécifié

Fonctions

http://api.jquery.com/addClass/ méthode pour ajouter une classe à un objet jQuery

http://api.jquery.com/removeClass/ méthode permettant de supprimer une classe à un objet jQuery

http://api.jquery.com/toggleClass/ méthode pour basculer d'une classe à un objet jQuery

http://api.jquery.com/hasClass/ méthode pour vérifier si un objet jQuery a la classe spécifiée

http://api.jquery.com/attr/ méthode pour récupérer les attributs d'un objet jQuery

Modifié: Belle feuille de trichealt text

11voto

Matt Ball Points 165937
// alerts "8"
alert($('<div class="something 8"></div>').attr('class').split(' ')[1]);

6voto

Yehia A.Salam Points 363

sinon, il est toujours préférable d’utiliser les attributs data- * html pour garder la trace des états, par exemple $ ("div.example"). data ("active")

4voto

Christoffer Klang Points 184

Vous pouvez obtenir la valeur de l'attribut class et la répartir sur l'espace.

 secondClass = element.className.split(' ')[1];
 

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