¿Cómo ordenar los DIV por altura?

Tengo tres div y quiero ordenarlas por altura, de mayor a menor.

 
smallest
largest
middle

¿Alguna idea?

    Es bastante simple. Utilice .sort() :

     $('div').sort(function (a, b) { return $(a).height() > $(b).height() ? 1 : -1; }).appendTo('body'); 

    Código: http://jsfiddle.net/fEdFt/2/

    Dado que jQuery devuelve una matriz, puede utilizar el método de sort en la matriz para reordenar los elementos. Una vez que están ordenados en el orden correcto, puede eliminarlos del DOM y reinsertarlos en el orden deseado.

     $('div.sortable').sort( function(a,b) { return $(b).height() - $(a).height(); }).appendTo('#container'); 

    Creo que http://james.padolsey.com/javascript/sorting-elements-with-jquery/ podría proporcionarle un buen punto de partida.

    No recuerdo si jQuery ajustará o no el objeto de matriz regular, pero si no puede usar un selector para obtener los divs y luego usar Array.sort (sortFunc) para ordenarlos.

     var divsToSort = $('div'); // I believe this returns an array object. function sortByHeight(a, b) { return $(a).height() - $(b).height(); } divsToSort.sort(sortByHeight); 
     function sortNumber(a, b) { return a - b; } $(function () { var divOrder = []; $.each($('div'), function () { divOrder.push($(this).height()); }); var sortedByHeight = divOrder.sort(sortNumber); for (i = 0; i < sortedByHeight.length; i++) { $('div').eq(i).height(sortedByHeight[i]); } }); 

    El html para esto fue: