Jquery使用排序跳过不需要的属性

Jquery使用排序跳过不需要的属性,jquery,Jquery,我有两个属性data num和data first,data first有0或1,如果data first是1,我想跳过这些元素进行排序 <div class="container"> <div class="item" data-num="99" data-first="0"></div> <div class="item" data-num="55" data-first="1"></div> <div class

我有两个属性
data num
data first
data first
0
1
,如果
data first
1
,我想跳过这些元素进行排序

<div class="container">
  <div class="item" data-num="99" data-first="0"></div>
  <div class="item" data-num="55" data-first="1"></div>
  <div class="item" data-num="22" data-first="0"></div>
</div>

<script>
    var $wrapper = $('.container');
    $wrapper.find('.item').sort(function (a, b) {
     if(a.dataset.first == 1){
        a.remove();
     }
       return +b.dataset.num - +a.dataset.num;
    })
    .appendTo($wrapper);
</script>

变量$wrapper=$('.container');
$wrapper.find('.item').sort(函数(a,b){
如果(a.dataset.first==1){
a、 删除();
}
返回+b.dataset.num-+a.dataset.num;
})
.appendTo($wrapper);
您正在查找

在这种情况下,这将起作用

$wrapper.find('.item[data-first=0]')
但这也会如此

$wrapper.find('.item[data-first!=1]')
如果您曾经有一个
data first=2
值,那么差异就很重要了。如果它只有0或1,那么使用哪个版本并不重要

因此,您的最终脚本如下所示:

var $wrapper = $('.container');
$wrapper.find('.item[data-first!=1]').sort(function (a, b) {
  return +b.dataset.num - +a.dataset.num;
})
.appendTo($wrapper);
你在找那个

在这种情况下,这将起作用

$wrapper.find('.item[data-first=0]')
但这也会如此

$wrapper.find('.item[data-first!=1]')
如果您曾经有一个
data first=2
值,那么差异就很重要了。如果它只有0或1,那么使用哪个版本并不重要

因此,您的最终脚本如下所示:

var $wrapper = $('.container');
$wrapper.find('.item[data-first!=1]').sort(function (a, b) {
  return +b.dataset.num - +a.dataset.num;
})
.appendTo($wrapper);

同样显示HTML请使用jQuery.uniqueSort()。@richardmuritz添加了HTMLcode@ManishPatoliauniqueSort用于数组,对吗?是的用于数组…也显示HTML为此,请使用jQuery.uniqueSort()。@RichardMauritz添加了HTMLcode@ManishPatolia数组的唯一排序对吗?数组的是。。。