jQuery получить следующий набор классов? - PullRequest
0 голосов
/ 13 октября 2011

У меня есть следующий HTML как

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

Что я пытаюсь сделать, это начать с myCool и обернуть его и следующие 4 класса cool в div? Так выглядит

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

Есть идеи, как мне это сделать?

Ответы [ 2 ]

4 голосов
/ 13 октября 2011

1001 * попробовать *

$(".myCool").each(function(i){
  $(this).nextUntil(".myCool").andSelf().wrapAll("<div id='" + (i+1) + "' class='myWrapped'></div>");
});
0 голосов
/ 13 октября 2011

вы можете сделать так

jQuery("<div class='myCool'>blah</div>").appendTo('body');
for(var i=0; i<4;i++)
{
    jQuery('<div class="cool">some text</div>').appendTo('.myCool');
}
...