編輯:用下面的解決方案部分解決。但出於某種原因,下面的解決方案要麼只是根據標籤按字母順序正確排序,要麼根據類別對其進行排序,但兩者的組合都不適用於我的情況。所以不是我用的第一部分,即字母順序排列的一切,然後用一個for循環每個類別操作是這樣的:基於第二類對DIV進行排序,然後根據內部文本按字母順序排序
for (i = 1; i <= 8; i++) { // 8 because I have 8 categories..
$('.ai-category-' + i).each(function(){
$(this).detach().appendTo('#items');
});
}
我試圖使用類名,每類一階項目的DIV和排序然後在每個類別內按字母順序排列。但是我有太多的類名,我似乎無法弄清楚如何做到這一點。我會承認,這超出了我的技能,我根本不知道該怎麼做。我知道這需要將幾個功能放在一起,但我不知道從哪裏開始。
目前我的名單看起來像這樣
<div id="items">
<div class="item ai-category-1 someOtherClass anotherClass">
<div class="info">
<p class="label">ZZ Item Name</p>
</div>
</div>
<div class="item ai-category-2 someOtherClass anotherClass">
<div class="info">
<p class="label">ZZ Item Name</p>
</div>
</div>
<div class="item ai-category-1 someOtherClass randomClass">
<div class="info">
<p class="label">AA Item Name</p>
</div>
</div>
<div class="item ai-category-2 someOtherClass anotherClass">
<div class="info">
<p class="label">AA Item Name</p>
</div>
</div>
</div>
,我需要它訂購基礎上,指出它是什麼類別的第二類的所有.item
,然後命令它使用.label
按字母順序在該類別中。所以結果應該是這樣的
<div id="items">
<div class="item ai-category-1 someOtherClass randomClass">
<div class="info">
<p class="label">AA Item Name</p>
</div>
</div>
<div class="item ai-category-1 someOtherClass anotherClass">
<div class="info">
<p class="label">ZZ Item Name</p>
</div>
</div>
<div class="item ai-category-2 someOtherClass anotherClass">
<div class="info">
<p class="label">AA Item Name</p>
</div>
</div>
<div class="item ai-category-2 someOtherClass anotherClass">
<div class="info">
<p class="label">ZZ Item Name</p>
</div>
</div>
</div>
並且不會有永遠是4個班,但總是會有兩個的.item
永遠是第一位和[class^="ai-category-"]
永遠是第二。如果任何人都可以推薦我應該看的或提供解決方案的任何功能,我將非常感激。
好了,謝謝你。任何機會,你可以告訴我,我應該如何使用我的層次結構的功能? –
我試過$('#items> div')。sortElements();但沒有按照我的需要排序: –
不用擔心,我正在爲您的案例編寫演示代碼。 –