首先,我不得不说我还没有尝试任何东西,因为我不知道该怎么做。 我也搜索过,但我找不到任何解决方案。
我想从以下
用jquery重新订购DIV<div id="wrapper">
<div class="A1"></div>
<div class="A2"></div>
<div class="B1"></div>
<div class="B2"></div>
...and so on...
</div>
到这个
<div id="wrapper">
<div class="A1"></div>
<div class="B1"></div>
<div class="A2"></div>
<div class="B2"></div>
...and so on...
</div>
有什么建议吗?
答案 0 :(得分:8)
答案 1 :(得分:3)
以下是重新排序元素的一种方法:
var aIndex = 0;
$('.B').each(function() {
$(this).insertAfter('.A:eq('+(aIndex++)+')');
});
<强> Demo of the above 强>
这假设您在那里有相同数量的A和B。
答案 2 :(得分:2)
$('.A').after(function (i) {
return $('.B:eq(' + i + ')')
});
<小时/> 在我们拥有类
.A
的元素之前,将使用类B
平衡所有元素。
答案 3 :(得分:1)
这很简单:
$(function(){
$('.wrapper .B').each(function(i,el){
$(this).insertAfter('.wrapper .A:eq('+i+')');
});
});
请参阅insertAfter和each的文档。
答案 4 :(得分:0)
如果A和B elemnets的数量相等,则可以使用以下代码
$('document').ready(function(){
var aIndex = 0;
$('#wrapper .B').each(function(idx,element) {
$(this).insertAfter('.A:eq('+(idx)+')');
});
});