jquery-selectors - 在新的div中,封装元素

  显示原文与译文双语对照的内容
0 0

我有 below的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中,如果我要在一个新的div ( 如 below ) 中包装每 3个 elemnts,我该怎么做?

<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>

我试过切片并包装了哪些没有真正帮助我。 有什么想法感谢你对此的帮助。

谢谢,我

时间:原作者:4个回答

0 0
var entries = $('#one>. two> div.entry');
entries.each(function(i) {
 if( i % 3 == 0 ) entries.slice(i,i+3).wrapAll('<div>');
});

http://jsfiddle.net/PZkSL/

原作者:
0 0

如何用类"二"获取div元素,并遍历它的子元素。 当找到第一个子节点使用 $(firstChild).before('<div>') ;并且在第三个子节点上使用 $(thirdChild).after('</div>') ;只需使用这里方法遍历所有的。 没有使用. before() 或者. after(),所以不确定它将如何工作。 好运。

原作者:
0 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];
}
原作者:
...