Javascript jQuery每四个元素一次,除非最后一个
我正在尝试在每四个元素之后添加一个“caption”元素,我使用这个元素进行了工作,效果非常好Javascript jQuery每四个元素一次,除非最后一个,javascript,jquery,css,Javascript,Jquery,Css,我正在尝试在每四个元素之后添加一个“caption”元素,我使用这个元素进行了工作,效果非常好 $('.each-work:nth-of-type(4n)').each(function() { $(this).after('<div class="each-work each-works-caption"><ul></ul></div>'); }); 而我希望: <div class="each-work"></div
$('.each-work:nth-of-type(4n)').each(function() {
$(this).after('<div class="each-work each-works-caption"><ul></ul></div>');
});
而我希望:
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work each-works-caption"><ul></ul></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work each-works-caption"><ul></ul></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work each-works-caption"><ul></ul></div>
<div class="each-work"></div>
<div class="each-work"></div>
<div class="each-work each-works-caption"><ul></ul></div>
谢谢
R因此,除了选择第四个孩子外,还要选择最后一个孩子:
$('.each-work:nth-of-type(4n), .each-work:last-of-type').each(function() {
$(this).after('<div class="each-work each-works-caption"><ul></ul></div>');
});
$('.每个工件:第n个类型(4n),.每个工件:最后一个类型')。每个(函数(){
$(此).after(“
”);
});
试试:
function addNewDiv() {
$(this).after('<div class="each-work each-works-caption"><ul></ul></div>');
}
$('.each-work')
.filter(':nth-of-type(4n)')
.each(addNewDiv)
.end()
.last()
.each(addNewDiv);
函数addNewDiv(){
$(此).after(“
”);
}
$(“.每件作品”)
.filter(“:第n个类型(4n)”)
.each(addNewDiv)
(完)
.last()
.每个(addNewDiv);
如果最后一个子元素可以被4整除,那么附加的元素将是重复的。我强烈建议根据原始结构,使用:nth类型(4n)
和:last类型(4n)
,或者:nth子元素(4n)
和:last child
,或者您可以简单地使用$(“.每件作品:第n种类型(4n),.每件作品:最后一种类型”)。之后(“
”);
function addNewDiv() {
$(this).after('<div class="each-work each-works-caption"><ul></ul></div>');
}
$('.each-work')
.filter(':nth-of-type(4n)')
.each(addNewDiv)
.end()
.last()
.each(addNewDiv);