我尝试使用.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);
});
结果很糟糕……有人能给我指一下灯吗?
发布于 2012-09-07 02:34:13
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);
http://jsfiddle.net/rz5gL/
https://stackoverflow.com/questions/12306259
复制相似问题