大佬教程收集整理的这篇文章主要介绍了使用jQuery将三个重复的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>
这是一体的.
因为我的结果我希望他们看起来像这样:
<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>
提前谢谢你的帮助
(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);
您传入一个选项对象定义
> childElem – 要包装的直接子节点的过滤器选择器
> sets – 您希望如何对子元素进行分组.例如,在您的情况下为3组.默认值为1
> wrapper – 包装子元素的元素.default是< 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"' }); });
这是一个有一些数据的Working Demo.
更新:
I wrote a blog post with a slightly modified and improved version of this
以上是大佬教程为你收集整理的使用jQuery将三个重复的div组包装成一个全部内容,希望文章能够帮你解决使用jQuery将三个重复的div组包装成一个所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。