jquery - 如何按组包装标签?

标签 jquery

我的 html 中可能有任意数量的文章:

<div id="main">
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
  <article></article>
</div>

现在,我想将所有文章分成一组。

var group = parseInt($('#main article').length / 3, 10); // results 4

现在,我怎样才能将它包含在一组四篇文章中?

结果应该是这样的:

<div id="main">
  <div class="group">
     <article></article>
     <article></article>
     <article></article>
     <article></article>
  </div>
  <div class="group">
     <article></article>
     <article></article>
     <article></article>
     <article></article>
  </div>
  <div class="group">
     <article></article>
     <article></article>
     <article></article>
     <article></article>
  </div>
  <div class="group"><!--the remaining two articles-->
     <article></article>
     <article></article>
  </div>
</div>

最佳答案

尝试一个简单的 for 循环

var $articles = $('#main article'),
    length = $articles.length;
for (var i = 0; i < length; i = i + 4) {
    $articles.slice(i, i + 4).wrapAll('<div class="group"/>')
}

演示:Fiddle

关于jquery - 如何按组包装标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22316730/

相关文章:

jquery - 按 div 标签内的数字和 jQuery 对 div 进行排序

jQuery,我该如何切换边距

javascript - 如何判断复选框是否被选中

javascript - 添加第二个触发器来运行

javascript - .css() 中的 jQuery 增量百分比变化

javascript - 只想在 wordpress 中使用 jQuery 在主页上加载弹出窗口

jquery - 如何将指示器放置在单独的列中,并将左右控件放置在 Bootstrap 轮播的底部

javascript - jQuery 获取父元素并隐藏它

javascript - 如何在使用 jquery 点击超链接时更改页面上的墙纸?

javascript - Magento 当价格 = 0 时显示其他消息