Edit in JSFiddle

    $(function(){
      
      var $container = $('#container');
      
      $container.isotope({
        itemSelector : '.element',
        getSortData : {
          symbol : function( $elem ) {
            return $elem.attr('data-symbol');
          },
          category : function( $elem ) {
            return $elem.attr('data-category');
          },
          number : function( $elem ) {
            return parseInt( $elem.find('.number').text(), 10 );
          },
          weight : function( $elem ) {
            return parseFloat( $elem.find('.weight').text().replace( /[\(\)]/g, '') );
          },
          name : function ( $elem ) {
            return $elem.find('.name').text();
          }
        }
      });
      
      
      var $optionSets = $('#options .option-set'),
          $optionLinks = $optionSets.find('a');

      $optionLinks.click(function(){
        var $this = $(this);
        // don't proceed if already selected
        if ( $this.hasClass('selected') ) {
          if ($this.hasClass('lock')){
              //return false;
            }
            else if ($this.hasClass('asc')){
              $this.removeClass('asc').addClass('desc');
            }
            else if ($this.hasClass('desc')){
              $this.removeClass('desc').addClass('asc');
            }
        }
        var $optionSet = $this.parents('.option-set');
        $optionSet.find('.selected').removeClass('selected');
        $this.addClass('selected');
  
        // make option object dynamically, i.e. { filter: '.my-filter-class' }
        var options = {},
            key = $optionSet.attr('data-option-key'),
            value = $this.attr('data-option-value');
        // parse 'false' as false boolean
        value = value === 'false' ? false : value;
        options[ key ] = value;
        if ($this.hasClass('asc') || $this.hasClass('desc'))
            options[ 'sortAscending' ] = $this.hasClass('asc');

        if ( key === 'layoutMode' && typeof changeLayoutMode === 'function' ) {
          // changes in layout modes need extra logic
          changeLayoutMode( $this, options )
        } else {
          // otherwise, apply new options
          $container.isotope( options );
        }
        
        return false;
      });

      
    });
<section id="options" class="clearfix">
    
    
    <h3>Sort</h3>

    <ul id="sort-by" class="option-set clearfix" data-option-key="sortBy">
      <li><a href="#sortBy=original-order" data-option-value="original-order" data="">original-order</a></li>
      <li><a href="#sortBy=name" data-option-value="name" class="selected asc">name</a></li>
      <li><a href="#sortBy=symbol" data-option-value="symbol" class="desc">symbol</a></li>
      <li><a href="#sortBy=number" data-option-value="number" class="desc">number</a></li>
      <li><a href="#sortBy=weight" data-option-value="weight" class="asc lock">weight</a></li>
      <li><a href="#sortBy=category" data-option-value="category" class="asc">category</a></li>
      <li><a href="#sortBy=random" data-option-value="random" class="desc">random</a></li>
    </ul>


  </section>


<div id="container" class="clearfix isotope" style="position: relative; overflow: hidden; height: 240px; ">
    
      
          
    <div class="element transition metal    isotope-item" data-symbol="Hg" data-category="transition" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(5px, 125px, 0px); ">
      <p class="number">80</p>
      <h3 class="symbol">Hg</h3>
      <h2 class="name">Mercury</h2>
      <p class="weight">200.59</p>
    </div>
    
      
          
    <div class="element metalloid    isotope-item" data-symbol="Te" data-category="metalloid" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(605px, 125px, 0px); ">
      <p class="number">52</p>
      <h3 class="symbol">Te</h3>
      <h2 class="name">Tellurium</h2>
      <p class="weight">127.6</p>
    </div>
    
      
          
    <div class="element post-transition metal    isotope-item" data-symbol="Bi" data-category="post-transition" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(365px, 5px, 0px); ">
      <p class="number">83</p>
      <h3 class="symbol">Bi</h3>
      <h2 class="name">Bismuth</h2>
      <p class="weight">208.9804</p>
    </div>
    
      
          
    <div class="element transition metal    isotope-item" data-symbol="Cd" data-category="transition" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(485px, 5px, 0px); ">
      <p class="number">48</p>
      <h3 class="symbol">Cd</h3>
      <h2 class="name">Cadmium</h2>
      <p class="weight">112.411</p>
    </div>
    
      
          
    <div class="element alkaline-earth metal    isotope-item" data-symbol="Ca" data-category="alkaline-earth" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(605px, 5px, 0px); ">
      <p class="number">20</p>
      <h3 class="symbol">Ca</h3>
      <h2 class="name">Calcium</h2>
      <p class="weight">40.078</p>
    </div>
    
      
          
    <div class="element transition metal    isotope-item" data-symbol="Re" data-category="transition" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(365px, 125px, 0px); ">
      <p class="number">75</p>
      <h3 class="symbol">Re</h3>
      <h2 class="name">Rhenium</h2>
      <p class="weight">186.207</p>
    </div>
    
      
          
    <div class="element post-transition metal    isotope-item" data-symbol="Tl" data-category="post-transition" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(725px, 125px, 0px); ">
      <p class="number">81</p>
      <h3 class="symbol">Tl</h3>
      <h2 class="name">Thallium</h2>
      <p class="weight">204.3833</p>
    </div>
    
      
          
    <div class="element metalloid    isotope-item" data-symbol="Sb" data-category="metalloid" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(125px, 5px, 0px); ">
      <p class="number">51</p>
      <h3 class="symbol">Sb</h3>
      <h2 class="name">Antimony</h2>
      <p class="weight">121.76</p>
    </div>
    
      
          
    <div class="element transition metal    isotope-item" data-symbol="Co" data-category="transition" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(725px, 5px, 0px); ">
      <p class="number">27</p>
      <h3 class="symbol">Co</h3>
      <h2 class="name">Cobalt</h2>
      <p class="weight">58.933195</p>
    </div>
    
      
          
    <div class="element lanthanoid metal inner-transition    isotope-item" data-symbol="Lu" data-category="lanthanoid" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(845px, 5px, 0px); ">
      <p class="number">71</p>
      <h3 class="symbol">Lu</h3>
      <h2 class="name">Lutetium</h2>
      <p class="weight">174.9668</p>
    </div>
    
      
          
    <div class="element noble-gas nonmetal    isotope-item" data-symbol="Ar" data-category="noble-gas" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(245px, 5px, 0px); ">
      <p class="number">18</p>
      <h3 class="symbol">Ar</h3>
      <h2 class="name">Argon</h2>
      <p class="weight">39.948</p>
    </div>
    
      
          
    <div class="element alkali metal    isotope-item" data-symbol="Rb" data-category="alkali" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(485px, 125px, 0px); ">
      <p class="number">37</p>
      <h3 class="symbol">Rb</h3>
      <h2 class="name">Rubidium</h2>
      <p class="weight">85.4678</p>
    </div>
    
      
          
    <div class="element other nonmetal    isotope-item" data-symbol="N" data-category="other" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(245px, 125px, 0px); ">
      <p class="number">7</p>
      <h3 class="symbol">N</h3>
      <h2 class="name">Nitrogen</h2>
      <p class="weight">14.0067</p>
    </div>
    
      
          
    <div class="element actinoid metal inner-transition    isotope-item" data-symbol="Np" data-category="actinoid" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(125px, 125px, 0px); ">
      <p class="number">93</p>
      <h3 class="symbol">Np</h3>
      <h2 class="name">Neptunium</h2>
      <p class="weight">(237)</p>
    </div>
    
      
          
    <div class="element actinoid metal inner-transition    isotope-item" data-symbol="Ac" data-category="actinoid" style="position: absolute; left: 0px; top: 0px; -webkit-transform: translate3d(5px, 5px, 0px); ">
      <p class="number">89</p>
      <h3 class="symbol">Ac</h3>
      <h2 class="name">Actinium</h2>
      <p class="weight">(227)</p>
    </div>
    
  </div>
/* Start: Recommended Isotope styles */

/**** Isotope Filtering ****/

.isotope-item {
  z-index: 2;
}

.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}

/**** Isotope CSS3 transitions ****/

.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
     -moz-transition-duration: 0.8s;
      -ms-transition-duration: 0.8s;
       -o-transition-duration: 0.8s;
          transition-duration: 0.8s;
}

.isotope {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
      -ms-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
     -moz-transition-property:    -moz-transform, opacity;
      -ms-transition-property:     -ms-transform, opacity;
       -o-transition-property:         top, left, opacity;
          transition-property:         transform, opacity;
}

/**** disabling Isotope CSS3 transitions ****/

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
     -moz-transition-duration: 0s;
      -ms-transition-duration: 0s;
       -o-transition-duration: 0s;
          transition-duration: 0s;
}

/* End: Recommended Isotope styles */

/**** Base styles ****/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  padding: 20px;
  font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Arial, sans-serif;
  font-size: 13px;
  line-height: 1.7em;
  background: #1F1E1D;
  color: #FFF;
}

h1, h2, h3, p, ul, ol, pre, dl {
  margin-bottom: 1.0em;
}

h1, h2, #super-list, .element, .tagline, #index-list, 
.super-list .link {
  font-family: 'Helvetica Neue', Arial, sans-serif;
}

h1, h2, h3 { font-weight: bold; }

h1 {
  font-size: 32px;
  line-height: 1.1em;
}

h2 {
  font-size: 24px;
  line-height: 1.1em;
}

ul, ol {
  margin-left: 1.5em;
}

a,
a code {
  color: #FB4;
  text-decoration: none;
}

a:hover,
a:hover code { 
  color: #4BF; 
}

a:active,
a:active code {
  color: #1FB;
  background: black;
}

a img { border: none; }

em { font-style: italic; }
strong { font-weight: bold; }

blockquote {
  padding-left: 1.0em;
  margin-left: 1.0em;
  border-left: 1px solid #333;
  font-style: italic;
}

/* disable CSS transitions for containers with infinite scrolling*/
.isotope.infinite-scrolling {
  -webkit-transition: none;
     -moz-transition: none;
      -ms-transition: none;
       -o-transition: none;
          transition: none;
}

/**** Isotope styles ****/

/* required for containers to inherit vertical size from window */
html,
body {
  height: 100%;
}

#container {
  border: 1px solid #666;
  padding: 5px;
  margin-bottom: 20px;
}

.element {
  width: 110px;
  height: 110px;
  margin: 5px;
  float: left;
  overflow: hidden;
  position: relative;
  background: #888;
  color: #222;
  -webkit-border-top-right-radius: 1.2em;
      -moz-border-radius-topright: 1.2em;
          border-top-right-radius: 1.2em;
}

.element.alkali          { background: #F00; background: hsl(   0, 100%, 50%); }
.element.alkaline-earth  { background: #F80; background: hsl(  36, 100%, 50%); }
.element.lanthanoid      { background: #FF0; background: hsl(  72, 100%, 50%); }
.element.actinoid        { background: #0F0; background: hsl( 108, 100%, 50%); }
.element.transition      { background: #0F8; background: hsl( 144, 100%, 50%); }
.element.post-transition { background: #0FF; background: hsl( 180, 100%, 50%); }
.element.metalloid       { background: #08F; background: hsl( 216, 100%, 50%); }
.element.other.nonmetal  { background: #00F; background: hsl( 252, 100%, 50%); }
.element.halogen         { background: #F0F; background: hsl( 288, 100%, 50%); }
.element.noble-gas       { background: #F08; background: hsl( 324, 100%, 50%); }


.element * {
  position: absolute;
  margin: 0;
}

.element .symbol {
  left: 0.2em;
  top: 0.4em;
  font-size: 3.8em;
  line-height: 1.0em;
  color: #FFF;
}
.element.large .symbol {
  font-size: 4.5em;
}

.element.fake .symbol {
  color: #000;
}

.element .name {
  left: 0.5em;
  bottom: 1.6em;
  font-size: 1.05em;
}

.element .weight {
  font-size: 0.9em;
  left: 0.5em;
  bottom: 0.5em;
}

.element .number {
  font-size: 1.25em;
  font-weight: bold;
  color: hsla(0,0%,0%,.5);
  right: 0.5em;
  top: 0.5em;
}

.variable-sizes .element.width2 { width: 230px; }

.variable-sizes .element.height2 { height: 230px; }

.variable-sizes .element.width2.height2 {
  font-size: 2.0em;
}

.element.large,
.variable-sizes .element.large,
.variable-sizes .element.large.width2.height2 {
  font-size: 3.0em;
  width: 350px;
  height: 350px;
  z-index: 100;
}

.clickable .element:hover {
  cursor: pointer;
}

.clickable .element:hover h3 {
  text-shadow:
    0 0 10px white,
    0 0 10px white
  ;
}

.clickable .element:hover h2 {
  color: white;
}

/**** Example Options ****/

#options {
  padding-bottom: 1.0em;
}

#options h3 {
  margin-bottom: 0.2em;
  font-size: 15px;
}

#options h4 { 
  font-weight: bold;
}

#options ul {
  margin: 0;
  list-style: none;
}

#options ul ul {
  margin-left: 1.5em;
}

#options li {
  float: left;
  margin-bottom: 0.2em;
}

#options li a {
  display: block;
  padding: 0.4em 0.5em;
  background-color: #DDD;
  color: #222;
  font-weight: bold;
  text-shadow: 0 1px hsla( 0, 0%, 100%, 0.5 );
  background-image: -webkit-linear-gradient( top, hsla( 0, 0%, 100%, 0.5 ), hsla( 0, 0%, 100%, 0.0 ) );
  background-image:    -moz-linear-gradient( top, hsla( 0, 0%, 100%, 0.5 ), hsla( 0, 0%, 100%, 0.0 ) );
  background-image:     -ms-linear-gradient( top, hsla( 0, 0%, 100%, 0.5 ), hsla( 0, 0%, 100%, 0.0 ) );
  background-image:      -o-linear-gradient( top, hsla( 0, 0%, 100%, 0.5 ), hsla( 0, 0%, 100%, 0.0 ) );
  background-image:         linear-gradient( top, hsla( 0, 0%, 100%, 0.5 ), hsla( 0, 0%, 100%, 0.0 ) );
}

#options li a:hover {
  background-color: #5BF;
}

#options li a:active {
  background-color: #39D;
  -webkit-box-shadow: inset 0 2px 8px hsla( 0, 0%, 0%, 0.6 );
     -moz-box-shadow: inset 0 2px 8px hsla( 0, 0%, 0%, 0.6 );
       -o-box-shadow: inset 0 2px 8px hsla( 0, 0%, 0%, 0.6 );
          box-shadow: inset 0 2px 8px hsla( 0, 0%, 0%, 0.6 );
}

#options li a {
  border-left:  1px solid hsla( 0, 0%, 100%, 0.3 );
  border-right: 1px solid hsla( 0, 0%,   0%, 0.2 );
}

#options li:first-child a {
  border-radius: 7px 0 0 7px;
  border-left: none;
}

#options li:last-child a {
  border-radius: 0 7px 7px 0;
}

#options li a.selected {
  background-color: #13F;
  text-shadow: none;
  color: white;
}

/* Combination filter options*/

#options .option-combo {
  display: inline-block;
  float: left;
  margin-right: 10px;
}

#options .option-combo ul {
  margin-right: 20px;
  display: inline-block;
}

#options .option-combo h2,
#options .option-combo h4 {
  line-height: 34px;
  margin-bottom: 0;
  margin-right: 5px;
  display: inline-block;
  vertical-align: top;
}
/* The Magnificent Clearfix: nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

#options ul li a.selected.asc:after { content: ' ▲'; line-height: 150%; font-size: 100%; color: rgba(255,255,255,.5); }
#options ul li a.selected.desc:after { content: ' ▼'; line-height: 150%; font-size: 80%; color: rgba(255,255,255,.5); }
#options ul li a.selected.lock:after { content: ''; }