2010-02-28 23 views

回答

20

我会用tinysort插件:

http://tinysort.sjeiti.com/

在你的情况下,它会是这样的:

$("#container > div").tsort("",{attr:"id"});

+1

此。我不得不忍受自己的骄傲,承认我不知道如何让sort()工作,而不管我传递给它的是什么函数。我整合了TinySort,我的生活从未如此简单。 – 2013-08-06 15:50:15

+2

对于Google发现此问题的人,我相信上述示例可能已过时。这个插件对我有效:'tinysort('#container> div',{attr:'id'})' – That1Guy 2015-01-07 16:42:38

8

有插件之类做的元素排序。如果您打算实际重新排序DOM元素,则应该使用其中的一个。

如果你只是想要一个排序列表的div,你可以使用Javascript - 因为数组可以使用自定义比较函数进行排序。您可以使用toArray()将所选的一组<div> s转换为数组,然后使用此机制对它们进行排序。

$('#container > div').toArray().sort(function(a,b) { a.id - b.id }); 

您也可以使用detach()appendTo()方法来删除和重新插入排序顺序的元素。但是,这可能不是重新排列DOM元素的最有效方式。

+0

谢谢!这非常有用。 – ababa 2010-02-28 17:44:52

+0

这是正确的答案,评价者比依靠插件。 – nickspiel 2015-07-03 03:44:16

0

试试我的jquery插件$.toArrayouter,使用Underscore库。

$('#container').html(_.sortBy($('#container>div').toArrayouter(),function (name) {return name}).join('')) 

演示:http://jsfiddle.net/abdennour/fDZjR/1/

相关问题