Javascript 根据jquery中的条件,将末尾带有的div保留在另一个div中
我有一个包含其他div的div。我想使用jQuery向下移动数据保留属性为true的div。i、 e.我希望这些数据位于数据保留属性为false的其他div的末尾。下面是我的HTMLJavascript 根据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 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);
});
})