我有以下html:
<div id="one">
<div class="two">
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
</div>
</div>
在jQuery中,如果我将每3个元素包装在一个新的div中,如下所示,我该怎么做?
<div id="one">
<div class="two">
<div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
</div>
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
</div>
<div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
<div class="entry">
Content here
</div>
</div>
</div>
</div>
我试过切片和包装,这对我没有帮助。有任何想法吗?感谢你的帮助。
谢谢, 大号
答案 0 :(得分:2)
var entries = $('#one > .two > div.entry');
entries.each(function(i) {
if( i % 3 == 0 ) entries.slice(i,i+3).wrapAll('<div>');
});
答案 1 :(得分:0)
答案 2 :(得分:0)
如何使用类“two”获取div元素,并遍历它的子元素。当你发现第一个孩子使用$(firstChild).before('<div>
');在第三个孩子上使用$(thirdChild)。after('</div>
');只需通过使用此方法进行迭代。没有使用过.before()或.after()所以不确定它会如何发展。祝你好运。
答案 3 :(得分:0)
我只想写一个简单的for
循环,例如:
var two = $(".two");
var elements = $(".entry");
var group = [];
for(var i=0;i<elements.length;i++) {
var mod = i % 3;
if(mod == 0 && group.length > 0) {
var container = $('<div></div>');
two.append(container);
for(var j=0;j<group.length;j++) {
container[0].appendChild(group[j]);
}
group = [];
}
group[mod] = elements[i];
}