我在一个网站上工作,我有这样的HTML代码
<p class="thumb-1"></p>
<p class="thumb-2"></p>
<p class="thumb-3"></p>
<p class="thumb-4"></p>
<p class="thumb-5"></p>
<p class="thumb-6"></p>
<p class="thumb-7"></p>
<p class="thumb-8"></p>
<div class="new new-1"></div>
<div class="new new-2"></div>
<div class="new new-3"></div>
<div class="new new-4"></div>所以,我想把<p>放到像这样的div中
<div class="new new-1">
<p class="thumb-1"></p>
<p class="thumb-5"></p>
</div>
<div class="new new-2">
<p class="thumb-2"></p>
<p class="thumb-6"></p>
</div>
<div class="new new-3">
<p class="thumb-3"></p>
<p class="thumb-7"></p>
</div>
<div class="new new-4">
<p class="thumb-4"></p>
<p class="thumb-8"></p>
</div>我试试看:
$("p").each(function() {
$('.new').append($this);
});但我不知道怎么才能转到.new-1,然后是.new-2等等。。。
谢谢你的帮助!
发布于 2016-03-21 13:11:36
这也可以使用%操作符来完成,如下所示:
jQuery:
$('p').each(function(i) {
$('.new-'+((i%4)+1)).append($(this))
})输出:
<div class="new new-1">
<p class="thumb-1">thumb-1</p>
<p class="thumb-5">thumb-5</p>
</div>
<div class="new new-2">
<p class="thumb-2">thumb-2</p>
<p class="thumb-6">thumb-6</p>
</div>
<div class="new new-3">
<p class="thumb-3">thumb-3</p>
<p class="thumb-7">thumb-7</p>
</div>
<div class="new new-4">
<p class="thumb-4">thumb-4</p>
<p class="thumb-8">thumb-8</p>
</div>看到它在JS Fiddle:9000/g219zjah/中工作
希望这能有所帮助。
发布于 2016-03-21 13:04:20
您可以使用each()、append()和eq()来完成它。
var p = $('p[class^="thumb-"]');
$('.new').each(function (i) {
$(this).append([p.eq(i), p.eq(i + 4)]);
});div {
border:1px solid #000;
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="thumb-1">thumb-1</p>
<p class="thumb-2">thumb-2</p>
<p class="thumb-3">thumb-3</p>
<p class="thumb-4">thumb-4</p>
<p class="thumb-5">thumb-5</p>
<p class="thumb-6">thumb-6</p>
<p class="thumb-7">thumb-7</p>
<p class="thumb-8">thumb-8</p>
<div class="new new-1"></div>
<div class="new new-2"></div>
<div class="new new-3"></div>
<div class="new new-4"></div>
发布于 2016-03-21 13:09:13
工作演示
$(document).ready(function(){
$("p").each(function(){
var num = $(this).attr('class').split('-')[1]
var rem = num % 4;
if(rem > 0){
$('.new-'+rem).append($(this))
}
else{
$('.new-4').append($(this))
}
});
});.new{
border:1px solid red
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="thumb-1">1</p>
<p class="thumb-2">2</p>
<p class="thumb-3">3</p>
<p class="thumb-4">4</p>
<p class="thumb-5">5</p>
<p class="thumb-6">6</p>
<p class="thumb-7">7</p>
<p class="thumb-8">8</p>
<div class="new new-1"></div>
<div class="new new-2"></div>
<div class="new new-3"></div>
<div class="new new-4"></div>
https://stackoverflow.com/questions/36131704
复制相似问题