Re-commander des divs avec jQuery

Est-il possible de ré-ordonner certaines divs avec jQuery. J’ai peu de divs et j’aimerais les réorganiser au chargement de la page en fonction du numéro d’index de données indiqué dans divs.

À présent:

3
2
1
4

Ce que je veux:

 
1
2
3
4

Je pense que cela devrait être possible avec jQuery. Je vais chaque div et obtenir le numéro d’index de données, mais comment puis-je faire la commande réelle: D

THX!

EDIT: une chose est que l’ordre en HTML peut varier à chaque chargement de page (l’ordre peut être 3,2,1,4 ou 4,1,3,2 ou n’importe quoi).

Et c’est le seul JS que j’ai maintenant:

 $("html .score").each(function(index, domEle) { var score = $(domEle).attr("data-index"); alert(score); }); 

Juste obtient le numéro d’index de données l’alerte.

HTML

 
3
2
1
4

jQuery ——— croissant

 $('.sortable').each(function(){ var $this = $(this); $this.append($this.find('.score').get().sort(function(a, b) { return $(a).data('index') - $(b).data('index'); })); }); 

———descendant

 $('.sortable').each(function(){ var $this = $(this); $this.append($this.find('.score').get().sort(function(a, b) { return $(b).data('index') - $(a).data('index'); })); }); 

Démo en direct

 function sortDivs(a,b){ return $(a).data("index") > $(b).data("index") ? 1 : -1; }; $(".score").sort(sortDivs).appendTo($("#results")); 

Voici une démo