【发布时间】:2012-11-09 12:50:02
【问题描述】:
我的 HTML 结构如下:
<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>
我想将它们排序为:
<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>
我正在使用以下功能:
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) ? (astts > bstts) ? 1 : 0 : -1;
});
contacts.append(cont);
}
它没有按预期工作。
它在第一次运行时运行良好,但在添加新元素或更改 data-sid 属性后它不再工作。
演示:http://jsfiddle.net/f5mC9/1/
不工作?
【问题讨论】:
-
我想交换元素
-
你可以使用 tinysort (tinysort.sjeiti.com)
标签: javascript jquery html sorting