Note that there are some explanatory texts on larger screens.

plurals
  1. POSorting parent div by content in child div
    text
    copied!<p>I am trying to sort the elements inside conainer using jquery, I have used this fiddle as a reference <a href="http://jsfiddle.net/tc5dc/" rel="nofollow">http://jsfiddle.net/tc5dc/</a>. I dont know what is possibly wrong ?? </p> <p>Also if there is any other way i can get this done in a more simple and DRY way.</p> <pre><code> &lt;div class="container"&gt;&lt;!--Container--&gt; &lt;div class="element"&gt;&lt;!--Single element--&gt; &lt;div class="child1"&gt; &lt;/div&gt; &lt;div class="child2"&gt; &lt;div class="stats right"&gt; &lt;div class="stat"&gt; &lt;h1 class="inv"&gt;0&lt;/h1&gt; &lt;h4 id ="mInv"class="sort" &gt;Inv&lt;/h4&gt; &lt;/div&gt; &lt;div class="stat"&gt; &lt;h1 class="con"&gt;14&lt;/h1&gt; &lt;h4 id="mCon" class="sort" &gt;Con&lt;/h4&gt; &lt;/div&gt; &lt;div class="stat"&gt; &lt;h1 class="ts"&gt;66&lt;/h1&gt; &lt;h4 id="mTs" class="sort" &gt;TS&lt;/h4&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="element"&gt;&lt;!--Single element--&gt; &lt;div class="child1"&gt; &lt;/div&gt; &lt;div class="child2"&gt; &lt;div class="stats right"&gt; &lt;div class="stat"&gt; &lt;h1 class="inv"&gt;10&lt;/h1&gt; &lt;h4 id ="mInv"class="sort" &gt;Inv&lt;/h4&gt; &lt;/div&gt; &lt;div class="stat"&gt; &lt;h1 class="con"&gt;12&lt;/h1&gt; &lt;h4 id="mCon" class="sort" &gt;Con&lt;/h4&gt; &lt;/div&gt; &lt;div class="stat"&gt; &lt;h1 class="ts"&gt;90&lt;/h1&gt; &lt;h4 id="mTs" class="sort" &gt;TS&lt;/h4&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="element"&gt;&lt;!--Single element--&gt; &lt;div class="child1"&gt; &lt;/div&gt; &lt;div class="child2"&gt; &lt;div class="stats right"&gt; &lt;div class="stat"&gt; &lt;h1 class="inv"&gt;17&lt;/h1&gt; &lt;h4 id ="mInv"class="sort" &gt;Inv&lt;/h4&gt; &lt;/div&gt; &lt;div class="stat"&gt; &lt;h1 class="con"&gt;81&lt;/h1&gt; &lt;h4 id="mCon" class="sort" &gt;Con&lt;/h4&gt; &lt;/div&gt; &lt;div class="stat"&gt; &lt;h1 class="ts"&gt;124&lt;/h1&gt; &lt;h4 id="mTs" class="sort" &gt;TS&lt;/h4&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; </code></pre> <p><strong>JS</strong></p> <pre><code>function sortUsingNestedText(parent, childSelector, keySelector) { var items = parent.children(childSelector).sort(function(a, b) { var vA = $(keySelector, a).text(); var vB = $(keySelector, b).text(); return (vA &lt; vB) ? -1 : (vA &gt; vB) ? 1 : 0; }); parent.append(items); } /* setup sort attributes */ $('#mInv').data("sortKey", "h1.inv"); $('#mCon').data("sortKey", "h1.con"); $('#mTs').data("sortKey", "h1.ts"); /* sort on button click */ $("h4.sort").click(function() { sortUsingNestedText($('#sortThis'), "div", $(this).data("sortKey")); </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload