2016-06-04 12 views
0

Ich habe ein bisschen JavaScript, dass divs auf meiner Website abhängig davon, was der Inhalt in einem span-Tag drin ist.Wie sortiere ich Artikel über 99?

Es sieht wie folgt aus:

$(window).load(function(){ 
    var $divs = $("div.box"); 
    $('#numBnt').on('click', function() { 
     var numericallyOrderedDivs = $divs.sort(function (a, b) { 
      return $(a).find("span").text() < $(b).find("span").text(); 
     }); 
     $("#container").html(numericallyOrderedDivs); 
    }); 
}); 

Das einzige Problem, das ich mit ihm bekam, dass, wenn die Zahlen innerhalb des Span-Tag wird über 99 es um mehr dosent, mit anderen Worten, es nur Aufträge Zahlen 0-99. Gibt es irgendeinen Weg, wie ich alle Zahlen ordnen kann, je nachdem, wie groß sie sind?

+1

Ihre Vergleichsfunktion ist völlig falsch. Es soll eine Zahl zurückgeben, nicht wahr/falsch. es gibt weniger als 0 zurück, wenn 'a Barmar

+0

[Ihre Vergleichsfunktion ist ungültig] (http://stackoverflow.com/q/24080785/ 1048572). – Bergi

Antwort

0

Holen Sie sich die Differenz der Zahlen und geben Sie es zurück. Es besteht keine Notwendigkeit, die Zeichenfolge zu analysieren, da subtraction(-) diese automatisch in Zahl umwandelt.

$(window).load(function(){ 
    var $divs = $("div.box");   
    $('#numBnt').on('click', function() { 

     var numericallyOrderedDivs = $divs.sort(function (a, b) { 
      return $(b).find("span").text() - $(a).find("span").text(); 
     }); 

     $("#container").html(numericallyOrderedDivs); 
    }); 
}); 
+0

Das funktioniert, außer dass es jetzt Low-> High sortiert und ich will, dass es high> Low sortiert? Irgendeine Möglichkeit, das zu beheben? –

+0

@ AntonKihlström: aktualisiert –

+1

Danke Mann, es funktioniert Greate. Danke für die Hilfe: D –