我有一个html列表,每个<li>
附加了各种值。
我可以根据相关的.data()
值订购元素吗?
这样我就可以创建一个摘要面板,其中的条目按.data('DataValueX')
排序。
只是为了澄清我不需要对原始元素进行排序,只需使用它们中的数据来创建新的摘要面板。
答案 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);
});