Skip to content

Instantly share code, notes, and snippets.

@jkappers
Created August 30, 2012 16:13
Show Gist options
  • Save jkappers/3532044 to your computer and use it in GitHub Desktop.
Save jkappers/3532044 to your computer and use it in GitHub Desktop.
Quick alpha sorting for content
$.fn.alphabetize = function(options){
var $list = this,
$item = this.children();
options = options || {};
$item.sort(function(a,b){
var x = (options.on && $(a).find(options.on) || $(a)).text(),
y = (options.on && $(b).find(options.on) || $(b)).text();
return x < y ? -1 : x > y ? 1 : 0
});
$.each($item, function(i, $item){
$list.append($item);
})
};
<ul>
<li>Z</li>
<li>A</li>
<li>N</li>
</ul>
<script> $('ul').alphabetize() </script>
<div class="root">
<p>I like <span class="entity">Dogs</span></p>
<p>I like <span class="entity">Code</span></p>
<p>I like <span class="entity">Cats</span></p>
</div>
<script> $('.root').alphabetize({ on: '.entity' }) </script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment