Javascript 根据jquery中的条件,将末尾带有的div保留在另一个div中

Javascript 根据jquery中的条件,将末尾带有的div保留在另一个div中,javascript,jquery,html,Javascript,Jquery,Html,我有一个包含其他div的div。我想使用jQuery向下移动数据保留属性为true的div。i、 e.我希望这些数据位于数据保留属性为false的其他div的末尾。下面是我的HTML <div class="parent"> <div class="terminalpopular" data-keep-down="true" data-park-type="meetandgreet" data-amount="65.95" data-type="Recommended"

我有一个包含其他div的div。我想使用jQuery向下移动数据保留属性为true的div。i、 e.我希望这些数据位于数据保留属性为false的其他div的末尾。下面是我的HTML

<div class="parent">
    <div class="terminalpopular" data-keep-down="true" data-park-type="meetandgreet" data-amount="65.95" data-type="Recommended"></div>
    <div class="terminalpopular" data-keep-down="false" data-park-type="meetandgreet" data-amount="67.99" data-type="Featured"></div>
    <div class="terminalpopular" data-keep-down="false" data-park-type="meetandgreet" data-amount="78" data-type="Christmas"></div>
    <div class="terminalpopular" data-keep-down="true" data-park-type="meetandgreet" data-amount="54.95" data-type="Special Offer"></div>
    <div class="terminalpopular" data-keep-down="false" data-park-type="park" data-amount="70" data-type="Recommended"></div>
    <div class="terminalpopular" data-keep-down="false" data-park-type="meetandgreet" data-amount="75" data-type="Featured"></div>
    <div class="terminalpopular" data-keep-down="false" data-park-type="meetandgreet" data-amount="84.99" data-type="Christmas"></div>
    <div class="terminalpopular" data-keep-down="false" data-park-type="meetandgreet" data-amount="84.99" data-type=""></div>
    <div class="terminalpopular" data-keep-down="false" data-park-type="meetandgreet" data-amount="94.95" data-type=""></div>
</div>

请帮忙。谢谢

以下是您可以做到这一点的方法:

$document.readyfunction{ $.terminalpopular.eachfunction{ 如果$this.data“保持低调”{ $.parent.append$this; } }; }; 65.95 67.99 78 54.95 70 75 84.99 84.99 94.95 你可以使用和方法

$'.parent'.appendfunction{ 返回$this.find'div[data keep down=true]; }; //$'.parent>div[data keep down=true]'.appendTo'.parent' 1. 2. 3. 4. 5. 试试这个:

$(document).ready(function() {
  $(".terminalpopular").each(function() {
  if ($(this).attr('data-keep-down')) {
     $(".parent").append($(this)[0].outerHTML);
  }
  });
});
//按真/假以及金额进行排序

 $(document).ready(function(){
   var $parentElem=$('.parent');
     var keepDownFalse=[];
      var keepDownTrue=[];
   $('.parent > div').each(function(index, value) {
        var $this=$(this);

       if(!$this.data('keep-down')){
            keepDownFalse.push({elem: $this, amount:$this.data('amount')});
       }else{
                keepDownTrue.push({elem: $this, amount:$this.data('amount')});
       }
    });

       keepDownFalse.sort(function(a, b) {
             return a.amount  - b.amount;
       });
       keepDownTrue.sort(function(a, b) {
             return a.amount  - b.amount;
       });
        console.log(keepDownFalse,keepDownTrue);
       $parentElem.empty();
       $.each(keepDownFalse,function(index,value){
           $parentElem.append(value.elem);
       })
        $.each(keepDownTrue,function(index,value){
           $parentElem.append(value.elem);
        });

})

你的意思是data keep down=true始终在顶部,其余部分在下面吗?data keep down=true应该始终在末尾,即在其他部分的下面。因此,你想对内部的div进行重新排序。parent?
 $(document).ready(function(){
   var $parentElem=$('.parent');
     var keepDownFalse=[];
      var keepDownTrue=[];
   $('.parent > div').each(function(index, value) {
        var $this=$(this);

       if(!$this.data('keep-down')){
            keepDownFalse.push({elem: $this, amount:$this.data('amount')});
       }else{
                keepDownTrue.push({elem: $this, amount:$this.data('amount')});
       }
    });

       keepDownFalse.sort(function(a, b) {
             return a.amount  - b.amount;
       });
       keepDownTrue.sort(function(a, b) {
             return a.amount  - b.amount;
       });
        console.log(keepDownFalse,keepDownTrue);
       $parentElem.empty();
       $.each(keepDownFalse,function(index,value){
           $parentElem.append(value.elem);
       })
        $.each(keepDownTrue,function(index,value){
           $parentElem.append(value.elem);
        });

})