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);