Jquery数据属性 - 订购&删除重复项

时间:2013-12-21 01:12:58

标签: jquery

我有许多聊天消息,其中包含PID,数据库表中有一行,如下所示:

enter image description here

我需要做以下事情:

  • 从最低到最高的数字排序,保持底部没有数字(空的)。
  • 删除所有重复项

我完全不确定如何做到这一点。我考虑过了:

sort(function(a, b) {

将它们放入数组中,对数组进行排序,删除它们,然后附加已排序的数组。

.each(function () { 

任何建议都会很棒。

THX

1 个答案:

答案 0 :(得分:2)

JavaScript不应该用于清理标记,最好的解决方案是阻止生成重复元素,但是如果必须这样做,可以使用sort方法,如下所示:

$('div').sort(function (a, b) {
   return + a.getAttribute('data-pid') > + b.getAttribute('data-pid');
}).appendTo('#somewhere')
  .filter(function() {
      var id = this.getAttribute('data-pid');
      // return the element if the previous sibling has the same PID
      return $(this).prev('[data-pid="'+id+'"]').length;
  }).remove();