1
我想要使用jquery排序conainer内的元素,我用这个小提琴作为参考http://jsfiddle.net/tc5dc/。我不知道什么可能是错误的?排序父div由内容在子div
此外,如果有任何其他方式,我可以以更简单和干燥的方式完成这项工作。
<div class="container"><!--Container-->
<div class="element"><!--Single element-->
<div class="child1">
</div>
<div class="child2">
<div class="stats right">
<div class="stat">
<h1 class="inv">0</h1>
<h4 id ="mInv"class="sort" >Inv</h4>
</div>
<div class="stat">
<h1 class="con">14</h1>
<h4 id="mCon" class="sort" >Con</h4>
</div>
<div class="stat">
<h1 class="ts">66</h1>
<h4 id="mTs" class="sort" >TS</h4>
</div>
</div>
</div>
</div>
<div class="element"><!--Single element-->
<div class="child1">
</div>
<div class="child2">
<div class="stats right">
<div class="stat">
<h1 class="inv">10</h1>
<h4 id ="mInv"class="sort" >Inv</h4>
</div>
<div class="stat">
<h1 class="con">12</h1>
<h4 id="mCon" class="sort" >Con</h4>
</div>
<div class="stat">
<h1 class="ts">90</h1>
<h4 id="mTs" class="sort" >TS</h4>
</div>
</div>
</div>
</div>
<div class="element"><!--Single element-->
<div class="child1">
</div>
<div class="child2">
<div class="stats right">
<div class="stat">
<h1 class="inv">17</h1>
<h4 id ="mInv"class="sort" >Inv</h4>
</div>
<div class="stat">
<h1 class="con">81</h1>
<h4 id="mCon" class="sort" >Con</h4>
</div>
<div class="stat">
<h1 class="ts">124</h1>
<h4 id="mTs" class="sort" >TS</h4>
</div>
</div>
</div>
</div>
</div>
JS
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 < vB) ? -1 : (vA > 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"));
h4.sort没有子元素,我可以看到在你的代码,你没有在你的HTML'ID排序',不知道你希望完成什么 – Culyx
我想排序
<! - 单个元素 - >,根据的值。 – SpaceTruck你的代码中没有元素的id为“sortThis”......你是否遗漏了某些东西? – Snowburnt