包装jQuery集合并附加到类

时间:2015-02-11 18:04:29

标签: javascript jquery html

我有21个jQuery元素的集合

  

div.article-preview.js-物品新

     

div.article-preview.js-物品新

     

div.article-preview.js的制品,新   ...

使用此代码我将它们附加到页面。我想知道如何在<div class="row"><div class="col-sm-12">中的每个元素中包装每个第3个元素。我尝试使用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'));

2 个答案:

答案 0 :(得分:1)

这应该这样做:

$('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 example

答案 1 :(得分:0)

尝试使用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>");
}