Comment commander des div avec JQUERY

J’ai des divs comme ça:

Pagás
$ 67
Valor
$ 160
Descuento $ 93

je veux commander les divs avec la classe = “oferta” par la valeur dans “ofertapagas” ou la valeur dans “ofertavalor” ou la valeur dans “ofertadescuento”, je ne sais pas comment, je ne peux pas utiliser la firebase database, je peux juste Jquery, j’utilise la dernière version. Un peu d’aide s’il vous plaît !!

jQuery résume Array.prototype.sort . Les ensembles de wrappets de jQuery étant des objects de type tableau , vous pouvez simplement appeler .sort() sur eux ou leur appliquer un sorting.

 var $datosoferta = $('.datosoferta'); $datosoferta.children().detach().sort(function(a,b) { return +a.textContent.split(/\$/)[1].sortingm() - +b.textContent.split(/\$/)[1].sortingm(); }).appendTo($datosoferta); 

Voir http://typeofnan.blogspot.com/2011/02/did-you-know.html

Démo : http://jsfiddle.net/Rfsfs/

Utiliser ui. JQuery UI – Démos et documentation sortingables

Pour votre code;

 $( ".offer" ).sortable({ update: function(event, ui) { // do post server. } }); 

Si vous placez ces offres DIV dans une sorte de conteneur (un autre DIV?), Vous pouvez alors récupérer toutes les offres et les sortinger en fonction des valeurs de leurs enfants.

Dans le code HTML ci-dessous, j’ai placé les divs de l’offre dans un div de conteneur et ajouté un atsortingbut data-value à chacun des divs enfant contenant des données, pour un access plus facile (aucune expression régulière requirejse).

 
Pagá $ 67
Valor $ 130
Descuento $ 93
Pagá $ 57
Valor $ 150
Descuento $ 43
Pagá $ 107
Valor $ 250
Descuento $ 1000
Pagá Valor Descuento

La fonction JS / jQuery:

 ofertas_sort = function(sort_key) { // array of offer divs var ofertas = $('.infoferta'); // the div classname corresponding to the key by which // we are sorting var sort_key_sel = 'div.' + sort_key; // in large lists it'd be more efficient to calculate // this data pre-sort, but for this instance it's fine ofertas.sort(function(a, b) { return parseInt($(sort_key_sel, a).attr('data-value')) - parseInt($(sort_key_sel, b).attr('data-value')); }); // re-fill the container with the newly-sorted divs $('#ofertas_container').empty().append(ofertas); }; 

Voici le code sur jsFiddle, avec quelques liens au bas du code HTML pour démontrer le sorting: http://jsfiddle.net/hans/Rfsfs/2/

J’ai modifié certaines des valeurs pour rendre le sorting plus visible.