jquery - Sort by a.text value -
i have markup
<div id="aercology"> <div class="row shaded"> <div class="columns one"> <span><a href="#">gema</a></span> </div> <div class="columns two"> <span><a href="#">air quality<br>engineering(aqe)</a></span> </div> <div class="columns three"> <span><a href="#">whitney</a></span> </div> </div> <div class="row"> <div class="columns one"> <span><a href="#">guyson</a></span> </div> <div class="columns two"> <span><a href="#">hoffman</a></span> </div> <div class="columns three"> <span><a href="#">micro air</a></span> </div> </div> </div> how use jquery sort text in alphabetical order. retaining class shaded on div row.?? div row goes through alternately..
current code
var mylist = jquery('#aercology'); var listitems = mylist.children('.columns span a').get(); listitems.sort(function(a, b) { return jquery(a).text().touppercase().localecompare(jquery(b).text().touppercase()); }); jquery.each(listitems, function(index, item) { mylist.append(item); }); desired output be
<div id="aercology"> <div class="row shaded"> <div class="columns one"> <span><a href="#">air quality<br>engineering(aqe)</a></span> </div> <div class="columns two"> <span><a href="#">gema</a></span> </div> <div class="columns three"> <span><a href="#">guyson</a></span> </div> </div> <div class="row"> <div class="columns one"> <span><a href="#">hoffman</a></span> </div> <div class="columns two"> <span><a href="#">micro air</a></span> </div> <div class="columns three"> <span><a href="#">whitney</a></span> </div> </div> </div> any appreciated
you can do:
var items = $('.row a').map(function () { return $(this).html(); }).get(); items.sort().reverse(); $(".row a").each(function(){ $(this).html(items.pop()) })
Comments
Post a Comment