Sort list items alphabetically
Change the orderby to be alphabetical based on a data attribute on list items.
by Jon Fuller
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="job_listings">
<ul class="job_listings">
<li class="job_listing" data-title="olark">olark</li>
<li class="job_listing" data-title="snapengage">snapengage</li>
<li class="job_listing" data-title="helponclick">helponclick</li>
<li class="job_listing" data-title="hangouts">hangouts</li>
<li class="job_listing" data-title="atlass">atlass</li>
<li class="job_listing" data-title="hipchat">hipchat</li>
<li class="job_listing" data-title="chat hip">chat hip</li>
</ul>
</div>
JavaScript
var alphabeticallyOrderedListings = $('.job_listing').sort(function(a, b) {
return String.prototype.localeCompare.call($(a).data('title').toLowerCase(), $(b).data('title').toLowerCase());
});
var jobListingsContainer = $(".job_listings ul.job_listings");
jobListingsContainer.detach().empty().append(alphabeticallyOrderedListings);
$('body').append(jobListingsContainer);