我实施了一个解决方案,将选中的项目移动到列表顶部,使用
现在,我有一个锚点可以取消选中列表中的所有项目。一旦我们单击锚标记,这些项目就会被取消选中。但是这些项目没有排序。它应该默认为首先显示的列表,如 html 列表:
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/RPN3x/