Как можно было бы изменить таблицу внутри значения строки на несколько столбцов с помощью jQuery? В разных строках должны быть добавлены теги tr-tags, если они заканчиваются td-тегом. Подводя итог, есть несколько строк в одном столбце, но мне нужна одна строка за столбец... У меня нет подсказки, где начинать с jQuery, чтобы исправить эту проблему:/
Заранее большое спасибо :)
<table class="search">
<tbody>
<tr>
<td class="field"><div title="Special">Special</div</td>
<td class="value">
<input name="f[sp_se_s][0]" value="0" type="hidden">
<table>
<tbody>
<tr>
<td valign="top">
<input id="sp_se_s_sp_se_1" value="sp_se_1" name="f[sp_se_s][sp_se_1]" type="checkbox">
<label for="sp_se_s_sp_se_1">Option 1</label>
</td>
**//HERE I need a </tr><tr>**
<td valign="top">
<input id="sp_se_s_sp_se_2" value="sp_se_2" name="f[sp_se_s][sp_se_2]" type="checkbox">
<label for="sp_se_s_sp_se_2">Option 2</label>
</td>
**//HERE I need a </tr><tr>**
<td valign="top">
<input id="sp_se_s_sp_se_3" value="sp_se_3" name="f[sp_se_s][sp_se_3]" type="checkbox">
<label for="sp_se_s_sp_se_3">Option 3</label>
</td>
</tr>
<tr>
<td valign="top">
<input id="sp_se_s_sp_se_4" value="sp_se_4" name="f[sp_se_s][sp_se_4]" type="checkbox">
<label for="sp_se_s_sp_se_4">Option 4</label>
</td>
**//HERE I need a </tr><tr>**
<td valign="top">
<input id="sp_se_s_sp_se_16" value="sp_se_16" name="f[sp_se_s][sp_se_16]" type="checkbox">
<label for="sp_se_s_sp_se_16">Option 5</label>
</td>
**//HERE I need a </tr><tr>**
<td valign="top">
<input id="sp_se_s_sp_se_5" value="sp_se_5" name="f[sp_se_s][sp_se_5]" type="checkbox">
<label for="sp_se_s_sp_se_5">Option 6</label>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
На мой взгляд, простым решением было бы получить содержимое внутри элементов <tr>
, сохранить их в переменной, удалить элементы <tr>
из таблицы и восстановить элементы <td>
.
На данный момент вы останетесь с элементом <tbody>
со множеством элементов <td>
. С этого момента, это вопрос обертывания всех элементов <td>
в элементе <tr>
.
В верхней части моей головы синтаксис jQuery может выглядеть примерно так:
var contents = $("table").find("tr").contents().detach();
$("table").find("tr").remove();
$("table tbody").html(contents);
$("table tbody").find("td").wrap("<tr></tr>");
Вот скрипка, демонстрирующая выше в действии:
Метод обертки кажется чем-то полезным для вас
Вы можете, например, получить все <td>
элементы, .wrap
его с помощью <tr>
и .append()
внутри новой таблицы или в конце текущего