包装jQuery集合并附加到类

wrapping jQuery collection and appending to class

本文关键字:合并 jQuery 集合 包装      更新时间:2023-09-26

我有21个jQuery元素的集合

div.article-preview.js-articles-new

div.article-preview.js-articles-new

div.article-preview.js-文章-新建…

使用这些代码,我将它们附加到一个页面上。我想知道如何将<div class="row">中的每3个元素和<div class="col-sm-12">中的每一个元素都包装起来。我尝试使用jQuery.wrap()函数,但它对附加的html没有任何作用。

var newArticles = $('<%= j render partial: "articles/article", collection: @articles %>');
var arts = newArticles.filter('.article-preview');
arts.addClass('js-articles-new');
arts.appendTo($('.js-articles-preview'));

这应该做到:

$('div.article-preview.js-articles-new').wrap('<div class="col-sm-12" />');
var divs = $("div.col-sm-12");
for (var i = 0; i < divs.length; i += 3) {
    divs.slice(i, i + 3).wrapAll('<div class="row" />');
}

jsFiddle示例

尝试使用wrapAll()和slice()

var divs = $("div > div");
for(var i = 0; i < divs.length; i+=3) {
  divs.slice(i, i+3).wrapAll("<div class='new'></div>");
}