Sorting jQuery list
by Robert Altman
HTML
<p>Sort:
<p><a href="#" class="link-sort-list asc">A-Z</a></p>
<p><a href="#" class="link-sort-list desc">Z-A</a></p>
</p>
<br/>
<br/>
<ul id="sort-list">
<li>Thailand</li>
<li>Chad</li>
<li>Liberia</li>
<li>Guyana</li>
<li>United States of America</li>
<li>Papua New Guinea</li>
<li>Singapore</li>
<li>Ethiopia</li>
<li>United Kingdom</li>
<li>Australia</li>
<li>Zambia</li>
<li>Mauritius</li>
</ul>
JavaScript
$('.link-sort-list').click(function(e) {
var $sort = this;
var $list = $('#sort-list');
var $listLi = $('li',$list);
$listLi.sort(function(a, b){
var keyA = $(a).text();
var keyB = $(b).text();
if($($sort).hasClass('asc')){
return (keyA > keyB) ? 1 : 0;
} else {
return (keyA < keyB) ? 1 : 0;
}
});
$.each($listLi, function(index, row){
$list.append(row);
});
e.preventDefault();
});