Jquery – Lire toutes les classes d’un div

J’essaie de lire tous les noms de classe d’un élément HTML de la manière suivante. Mais ça ne marche pas:

HTML

hello world

JS

 if ($('#test').attr('class') != '') { // Read classes var all_classes = $('#test').attr('class'); // Output $('body').append('Classnames: '+all_classes+' '); } 

Exemple http://www.jsfiddle.net/AQgqU/8/

Quelqu’un peut m’aider?

Vous pouvez faire de cette façon:

 var classes = $('#test').attr('class').split(' '); alert(classes[0]); // first class alert(classes[1]); // second class alert(classes[2]); // third class 

Ou vous pouvez utiliser une boucle:

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

Mettre à jour:

Comme suggéré par @KennyTM, avec le code ci-dessus, il était possible qu'un espace entre un nom de classe. Vous pouvez utiliser la fonction $.sortingm de jQuery pour supprimer tout espace.

Votre fonction fonctionne bien, mais vous avez une erreur de syntaxe à la fin:

 $(function() { // Has the #test a Class? if ($('#test').attr('class') != '') { // Read classes var all_classes = $('#test').attr('class'); // Output $('body').append('Classnames: '+all_classes+' '); } }): //^ There's a colon just here, should be a semi-colon ; 

voici votre violon fixe: http://www.jsfiddle.net/AQgqU/12/