我这里有另一个问题.我有几个重复的div组.一组中有3个不同类别的div.
我需要做的是将其包装成一个"容器".当我使用wrapAll时,它将所有内容包装成一个div.
这是我的HTML:
<div class="bb_box_tl"></div>
<div class="bb_box_l"></div>
<div class="bb_box_lb"></div>
<div class="bb_box_tl"></div>
<div class="bb_box_l"></div>
<div class="bb_box_lb"></div>
<div class="bb_box_tl"></div>
<div class="bb_box_l"></div>
<div class="bb_box_lb"></div>
Run Code Online (Sandbox Code Playgroud)
这是一体的.
因为我的结果我希望他们看起来像这样:
<div class="box-cont">
<div class="bb_box_tl"></div>
<div class="bb_box_l"></div>
<div class="bb_box_lb"></div>
</div>
<div class="box-cont">
<div class="bb_box_tl"></div>
<div class="bb_box_l"></div>
<div class="bb_box_lb"></div>
</div>
<div class="box-cont">
<div class="bb_box_tl"></div>
<div class="bb_box_l"></div>
<div class="bb_box_lb"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
提前谢谢你的帮助
我刚刚写了这个插件
(function($){
$.fn.wrapChildren = function(options) {
var options = $.extend({
childElem : undefined,
sets : 1,
wrapper : 'div'
}, options || {});
if (options.childElem === undefined) return this;
return this.each(function() {
var elems = $(this).children(options.childElem);
var arr = [];
elems.each(function(i,value) {
arr.push(value);
if (((i + 1) % options.sets === 0) || (i === elems.length -1))
{
var set = $(arr);
arr = [];
set.wrapAll($("<" + options.wrapper + ">"));
}
});
});
}
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
您传入一个选项对象定义
<div>像这样使用你的数据.您需要为div定义父元素
$(function() {
$('body').wrapChildren({
childElem : 'div.bb_box_tl, div.bb_box_l, div.bb_box_lb' ,
sets: 3,
wrapper: 'div class="box-cont"'
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个包含一些数据的工作演示.
更新: