Перестройка таблицы jQuery - PullRequest
0 голосов
/ 16 июня 2010

У нас есть таблица:

<table>
<tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
    <td>10</td>
</tr>
</table>

Мы обновляем эту таблицу, добавляя в каждую <tr> только 3 <td>.

Она должна выглядеть следующим образом:

<table>
<tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
</tr>
<tr>
    <td>4</td>
    <td>5</td>
    <td>6</td>
</tr>
<tr>
    <td>7</td>
    <td>8</td>
    <td>9</td>
</tr>
<tr>
    <td>10</td>
</tr>
</table>

Как мы можем это сделать?

1 Ответ

2 голосов
/ 16 июня 2010

Вы можете сделать это, используя .unwrap(), .slice() и .wrapAll(), например:

var elems = $("table tr td").unwrap();
for(var i = 0; i < elems.length; i+=3) {
  elems.slice(i, i+3).wrapAll("<tr></tr>");
}​

Вы можете просмотреть короткую демонстрацию здесь , она берет элементы <td>, удаляет окружающие <tr></tr>, группирует их в наборы по 3 и повторно объединяет эти группы в <tr></tr>.

...