首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按.elements id对.container .elements进行排序

按.elements id对.container .elements进行排序
EN

Stack Overflow用户
提问于 2012-09-07 02:31:04
回答 1查看 297关注 0票数 1

我尝试使用.sort()函数对列表进行排序,因此:

代码语言:javascript
运行
复制
<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>

我试过这样的方法:

代码语言:javascript
运行
复制
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);
});

结果很糟糕……有人能给我指一下灯吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-07 02:34:13

jQuery没有公开实现.sort方法,它是一个隐藏的方法,因为它没有实现通常的类似jquery的接口,并且仅供内部使用。尽管如此,你仍然可以使用它,自从它被添加到库中以来,它没有改变。试试这个:

代码语言:javascript
运行
复制
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/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12306259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档