javascript - 选择元素的子集,并将它们包装在 div 中

标签 javascript jquery jquery-selectors

我在 jQuery 中有一组选定的元素:

<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>
<div class="element"></div>

我想将这些元素包装成五个一组,如下所示:

<div class="wrapper">
    <div class="element"></div>
    <div class="element"></div>
    <div class="element"></div>
    <div class="element"></div>
    <div class="element"></div>
</div>
<div class="wrapper">
    <div class="element"></div>
    <div class="element"></div>
    <div class="element"></div>
    <div class="element"></div>
    <div class="element"></div>
</div>
<div class="wrapper">
    <div class="element"></div>
    <div class="element"></div>
</div>

有没有一种有效/简单的方法来做到这一点?我想它会看起来像这样:

$('.element').wrapAll('<div class="wrapper"></div>');

但有一个选择器以五个为一组选择元素。

谢谢!

最佳答案

你可以像这样稍微紧凑一些:

var elems = $('.element');
for(var i = 0; i <= elems.length; i+=5) {
  elems.slice(i, i+5).wrapAll('<div class="wrapper"></div>');
}

这会得到您在问题中得到的确切结果:)您可以将 5 设为一个变量并包装您想要的子代数量,其余部分(在本例中为最后 2 个)将最后用自己的 wrapper 包裹起来。

关于javascript - 选择元素的子集,并将它们包装在 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2510465/

相关文章:

javascript - eval() 是否在方法中以严格模式运行?

jQuery:检测元素是否存在

jquery - 如何使用兄弟 CSS 选择器?

javascript - 根据下拉选择为单元分配颜色

javascript - 使用 MapFish 打印 OSM

javascript - jQuery - 从处理函数接收正确的变量值

javascript - 使用绝对位置时,jQuery 向左滚动不起作用?

javascript - 使用 JavaScript 和 CSS 翻译页面和联系表

jquery - 仅选择主表中的 tr,而不选择嵌套表

javascript - 使用 innerhtml 属性向 div 添加滚动条