(Entschuldigung, wenn die Frage bereits existiert)jQuery Sortierelemente mit Daten-ID
Ich bin sehr neu in jQuery Entwicklung.
Ich habe Struktur HTML wie folgt:
<div class="clist">
<div data-sid=1></div>
<div data-sid=2></div>
<div data-sid=2></div>
<div data-sid=1></div>
<div data-sid=2></div>
<div data-sid=2></div>
<div data-sid=1></div>
</div>
Ich mag sie sortieren würde:
<div class="clist">
<div data-sid=1></div>
<div data-sid=1></div>
<div data-sid=1></div>
<div data-sid=2></div>
<div data-sid=2></div>
<div data-sid=2></div>
<div data-sid=2></div>
</div>
Ich verwende die Funktion
function sortContacts() {
var contacts = $('div.clist'), cont = contacts.children('div');
cont.detach().sort(function(a, b) {
var astts = $(a).data('sid');
var bstts = $(b).data('sid')
//return astts - bstts;
return (astts > bstts) ? (astts > bstts) ? 1 : 0 : -1;
});
contacts.append(cont);
}
Aber es funktioniert nicht wie erwartet ..
Es funktioniert gut zum ersten Mal, aber wenn neue Element hinzufügen oder die Daten-Sid ändern, funktioniert es nicht.
EDIT:
Demo
nicht?
ich möchte Elemente tauschen – user1834809
Sie tinysort nutzen könnten (http://tinysort.sjeiti.com /) –