Можете ли вы получить подмножество элементов в jQuery согласно количеству группировки? - PullRequest
0 голосов
/ 17 апреля 2009

Скажем, у меня есть 5 сильных элементов, и я хочу обернуть их в элементы div, группами по 2, используя jQuery.

Пример:

<!--original markup-->
<strong>I AM STRONG</strong>
<strong>I AM STRONG</strong>
<strong>I AM STRONG</strong>
<strong>I AM STRONG</strong>
<strong>I AM STRONG</strong>

Становится

<!-- new markup -->
<div>
    <strong>I AM STRONG</strong>
    <strong>I AM STRONG</strong>
</div>
<div>
    <strong>I AM STRONG</strong>
    <strong>I AM STRONG</strong>
</div><div>
    <strong>I AM STRONG</strong>
</div>

Каков наилучший способ сделать это? Я попробовал несколько вещей, но они были проблематичными. Сильные элементы не могут иметь фиксированную высоту. Также эти элементы приведены только для примера.

Как мне написать цикл jQuery для этого?

Спасибо

Редактировать Не существует фиксированного количества элементов.

Ответы [ 2 ]

4 голосов
/ 17 апреля 2009

Я, наверное, просто зациклился бы по два, оборачивая каждую пару по ходу дела ...

var elems = $("strong");
for (var i=0; i<elems.length; i+=2)
{
  elems.slice(i,i+2)   // split off a pair
    .wrapAll("<div>"); // wrap it
}
0 голосов
/ 17 апреля 2009

Вы можете использовать: odd, чтобы выбрать любой другой элемент, затем .prev, чтобы получить четный элемент.

$('strong:odd').each(function(){
  var divElement = $('<div></div>').append($(this).prev(), $(this));
  // Now add the divElement to a new container?
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...