-1

I have dynamically created html div using jquery , now i want to sort the div's according to date/Name. the dynamically created div are like ,

<div class="itemBox" data-date="2013-12-12 00:00:00" data-name="Simple Choker">
    ..data1.
<div>

<div class="itemBox" data-date="2013-12-12 00:00:00" data-name="Double 22"">
    ..data2.
<div>

Jquery that i have used

$.each(results, function (index, items) 
{ 
    var appendData = "";
    appendData = appendData + "<div class='itemBox' data-name='" + items.name+    "'data-date='" + items.createdDate + "'>";  
    //images are appended using Api // 
    appendData = appendData + "</div>"; 
    $(".mainDiv").append(appendData); 
}

How to do it using jquery? Do i need any plugin or function?

Lee Taylor
  • 7,761
  • 16
  • 33
  • 49
Vikas Lalwani
  • 1,041
  • 18
  • 29

1 Answers1

1

It is better to sort the JS object before generating the HTML. But since you want to do it after generation, Try this code

$(".itemBox").sort(function (a, b) {
    var d1 = new Date($(a).data('date'));
    var d2 = new Date($(b).data('date'));
    return d2 < d1 ? 1 : -1;
}).appendTo('body');

Demo

Chamika Sandamal
  • 23,565
  • 5
  • 63
  • 86