且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将选中的项目保留在列表顶部

更新时间:2022-03-27 22:31:22

选择原始列表以保存订单。单击其中一个复选框时,对其进行迭代,首先附加选中的项目,然后附加未选中的项目:

Select the original list to save the order. When one of the checkboxes is clicked, iterate over it, appending the checked items first and the unchecked items second:

var list = $("ul"),
    origOrder = list.children();

list.on("click", ":checkbox", function() {
    var i, checked = document.createDocumentFragment(),
        unchecked = document.createDocumentFragment();
    for (i = 0; i < origOrder.length; i++) {
        if (origOrder[i].getElementsByTagName("input")[0].checked) {
            checked.appendChild(origOrder[i]);
        } else {
            unchecked.appendChild(origOrder[i]);
        }
    }
    list.append(checked).append(unchecked);
});

演示: http://jsfiddle.net/scSYV/2