jQuery每四个元素,除非最后一个
jQuery every fourth element unless last
我试图在每四个元素之后添加一个'caption'元素,我使用这个工作,它工作得很好。
$('.each-work:nth-of-type(4n)').each(function() {
$(this).after('<div class="each-work each-works-caption"><ul></ul></div>');
});
唯一的是元素的数量不能被4整除,它是一个CMS添加元素,所以元素的数量可以定期增长/缩小。如何编辑此函数以包含4n
以外的其余元素?
作为一个例子,当前它看起来像这样:
<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"></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>');
});
JSFiddle
尝试:
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);
相关文章:
- 表追加而不附加最后一个元素
- 使用querySelector()获取最后一个td元素
- 如何查找流星集合中最后一个元素/对象的id
- 如何在使用Protractor测试时找到ng中继器的最后一个元素
- 在元素数组上循环只会影响最后一个元素
- 推特引导滚动间谍总是选择最后一个元素
- 选择页面上具有特定类的最后一个元素
- 检查 JQuery 每个函数中的最后一个元素
- 保持元素可滚动,直到到达最后一个内容
- 选择表中的最后一个元素
- forEach 仅执行数组的最后一个元素
- JavaScript,数组和函数 - 只有数组的最后一个元素有效
- 插件总是只得到最后一个实例,如何让它适用于多个元素
- jQuery - 选择具有相同 ID 的组的最后一个元素
- 第一个元素和最后一个元素之间的连续循环
- 更改元素HTML,但忽略最后一个子项
- 除了最后一个<td>元素-Jquery
- 在JavaScript数组中查找最后一个元素的计算效率最高的方法
- 将同一个元素追加到两个下拉列表中只会导致最后一个元素被追加
- 如何在jquery中读取Section中的最后一个元素