Quelle est la manière la plus simple de commander un / dans jQuery?

Je cherche un exemple de code qui va sortinger les éléments de liste dans une liste HTML par ordre alphabétique. Quelqu’un peut-il aider?

Voici un exemple de liste avec laquelle les gens peuvent travailler:

  • apples
  • cats
  • bears

 var items = $('.alphaList > li').get(); items.sort(function(a,b){ var keyA = $(a).text(); var keyB = $(b).text(); if (keyA < keyB) return -1; if (keyA > keyB) return 1; return 0; }); var ul = $('.alphaList'); $.each(items, function(i, li){ ul.append(li); /* This removes li from the old spot and moves it */ }); 

Pour les futurs googleurs, j’ai trouvé ce plugin très utile. Il a la possibilité de définir l’ordre des caractères pour les langues non latines.

Anciennes versions (dépendant de jQuery)

 $('.submenu > li').tsort({ charOrder: 'abcçdefgğhıijklmnoöprsştuüvyz' }); 

Pour les caractères anglais uniquement, aucune option n’est nécessaire pour définir

 $('.submenu > li').tsort(); 

Version actuelle (indépendante de jQuery) (29 mars 2016)

La version actuelle de tinysort est maintenant indépendante de jQuery. JavaScript pur. J’ai mis à jour jsfiddle pour une nouvelle utilisation de la version.

 tinysort('.submenu > li', { charOrder: 'abcçdefgğhıijklmnoöprsştuüvyz' }); 

Démo http://jsfiddle.net/ergec/EkScy/

Site Web http://tinysort.sjeiti.com/

Essaye ça:

 var elems = $('.alphalist li').detach().sort(function (a, b) { return ($(a).text() < $(b).text() ? -1 : $(a).text() > $(b).text() ? 1 : 0); }); $('.alphalist').append(elems);