jQuery sort elements usando dados id
(desculpe se a pergunta já existe)
Eu sou muito novo no desenvolvimento do jQuery.
Eu tenho estrutura HTML da seguinte forma:
<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>
Eu gostaria de classificá-los como:
<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>
Estou usando a função
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);
}
Mas não está funcionando como esperado ..
Ele está funcionando bem pela primeira vez, mas quando adicionar novo elemento ou alterar o data-sid, ele não está funcionando.
EDITAR:
Demonstração
não está funcionando?