jquery 使用数组值对元素进行排序

标签 jquery jquery-ui-sortable

我需要根据它的属性对一些元素进行排序。举个例子:

<div id="sort">
<div n="1"></div>
<div n="2"></div>
<div n="3"></div>
<div n="4"></div>
</div>

和 array_num

{3, 2, 1, 4}

伪代码:

$('#sort').sort(array_num, 'n');

结果将是:

<div id="sort">
<div n="3"></div>
<div n="2"></div>
<div n="1"></div>
<div n="4"></div>
</div>

最佳答案

​var order = [3, 2, 4, 1]​;
var el = $('#sort');
var map = {};

$('#sort div').each(function() { 
    var el = $(this);
    map[el.attr('n')] = el;
});

for (var i = 0, l = order.length; i < l; i ++) {
    if (map[order[i]]) {
        el.append(map[order[i]]);
    }
}

Full code here

关于jquery 使用数组值对元素进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3563370/

相关文章:

jquery ui 拖放+可排序

javascript - jQuery UI 可排序行为不直观 - 难以上下移动

javascript - Zurb Orbit 中的按钮未隐藏在 IE8 中

javascript - 通过JS使用RGB输入框上色

javascript - jQuery 打开外部 url 并操作 DOM

javascript - data.length 未定义

c# - 意外的 token > jquery ajax

jquery sortable 占位符高度问题

php - Jquery DataTables 可排序距离列

css - 为什么我不能让 jquery ui sortable 有一个 "smooth"水平自动滚动?