使用.data()从.each()调用中返回返回的元素

时间:2011-04-04 16:46:48

标签: jquery sorting each

我有一个html列表,每个<li>附加了各种值。

我可以根据相关的.data()值订购元素吗?

这样我就可以创建一个摘要面板,其中的条目按.data('DataValueX')排序。

只是为了澄清我不需要对原始元素进行排序,只需使用它们中的数据来创建新的摘要面板。

1 个答案:

答案 0 :(得分:1)

JavaScript有一个名为.sort(sort_function)的本机方法,可用于对任何数组进行排序。在这种情况下,您有一个jQuery对象集合,它具有元素的数组堆栈。

检查我的fiddle以了解它的实际演示。

$(function() {
    var myArray = $('li').get();  

    myArray.sort(function(x,y) {
        return $(x).data('color') > $(y).data('color') ? 1 : -1;
    });

    $('ul').empty().append(myArray);
});