我正在尝试使用.sort()
函数对列表进行排序,以便:
<div class="centerCnt">
<div class="widgetHelp" id="5">a</div>
<div class="widgetHelp" id="1">b</div>
<div class="widgetHelp" id="2">c</div>
<div class="widgetHelp" id="3">d</div>
</div>
我尝试过类似的事情:
list = $(".widgetHelp");
list.sort(function(a, b) {
var aProp = parseInt($(a).attr('id').replace('help_id_','')),
bProp = parseInt($(b).attr('id').replace('help_id_',''));
return (aProp > bProp ? 1 : aProp < bProp ? -1 : 0);
});
结果可怕......有人能告诉我光明吗?
答案 0 :(得分:1)
jQuery没有公开实现.sort
方法,它是一个隐藏方法,因为它没有实现通常的类jquery接口,仅供内部使用。说到这一点,你仍然可以使用它,因为它被添加到库中它没有改变。试试这个:
list = $(".widgetHelp");
parent = list.parent();
list.sort(function(a, b) {
var aProp = parseInt($(a).attr('id').replace('help_id_','')),
bProp = parseInt($(b).attr('id').replace('help_id_',''));
return (aProp > bProp ? 1 : aProp < bProp ? -1 : 0);
});
parent.append(list);