首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按字母顺序在jQuery中排序

按字母顺序在jQuery中排序
EN

Stack Overflow用户
提问于 2015-01-05 08:21:46
回答 1查看 138关注 0票数 0

编写工作代码,按字母顺序对列表进行排序。但是代码很大而且不是通用的。我想减少它。请告诉我如何使代码更通用,这样您就不必每次添加新的id,而不是每次id时都进行排序。

代码语言:javascript
复制
function sortUL(selector) {
    $(selector).children("li").sort(function(a, b) {
        var upA = $(a).text().toUpperCase();
        var upB = $(b).text().toUpperCase();
        return (upA < upB) ? -1 : (upA > upB) ? 1 : 0;
    }).appendTo(selector);
}

<!-- Below is the code that needs to be reduced -->
$('.mg-filter-item:nth-child(1)').attr( 'id', 'id-1' );
$('.mg-filter-item:nth-child(2)').attr( 'id', 'id-2' );
$('.mg-filter-item:nth-child(3)').attr( 'id', 'id-3' );
$('.mg-filter-item:nth-child(4)').attr( 'id', 'id-4' );
$('.mg-filter-item:nth-child(5)').attr( 'id', 'id-5' );
$('.mg-filter-item:nth-child(6)').attr( 'id', 'id-6' );
$('.mg-filter-item:nth-child(7)').attr( 'id', 'id-7' );
$('.mg-filter-item:nth-child(8)').attr( 'id', 'id-8' );
$('.mg-filter-item:nth-child(9)').attr( 'id', 'id-9' );
$('.mg-filter-item:nth-child(10)').attr( 'id', 'id-10' );


sortUL('#id-1 ul');
sortUL('#id-2 ul');
sortUL('#id-3 ul');
sortUL('#id-4 ul');
sortUL('#id-5 ul');
sortUL('#id-6 ul');
sortUL('#id-7 ul');
sortUL('#id-8 ul');
sortUL('#id-9 ul');
sortUL('#id-10 ul');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-05 08:26:56

为此您可以使用$.each

代码语言:javascript
复制
$.each($('.mg-filter-item ul'), function() {
    sortUL($(this));
});

sortUL

代码语言:javascript
复制
function sortUL(element) {
    element.children("li")./* ... */
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27775691

复制
相关文章

相似问题

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