0

I have the following HTML like

<body>
   <div class="myCool">blah</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="myCool">blah</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
</body>

What am I trying to do is start at myCool and wrap it and the next 4 classes cool into a div ? So it looks like

 <div id="1" class="myWrapped">
   <div class="myCool">blah</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
 </div>
 <div id="2" class="myWrapped">
   <div class="myCool">blah</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
   <div class="cool">some text</div>
 </div>

Any ideas how I can do this ?

4

2 に答える 2

4

試す

$(".myCool").each(function(i){
  $(this).nextUntil(".myCool").andSelf().wrapAll("<div id='" + (i+1) + "' class='myWrapped'></div>");
});
于 2011-10-13T17:51:39.033 に答える