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