使用jQuery围绕一组td包装div

时间:2012-08-18 18:52:32

标签: jquery html-table

以下是我正在处理的示例代码:

<td class="one">content</td>
<td class="two">content</td>
<td class="three">content</td>
<td class="four">content</td>
<td class="five">content</td>

我可以使用以下方法在第一个td周围包装div:

$('td.one').wrap('<div class="td-one">');

但是,我现在需要将剩下的四个td包装在一个div中...所以期望的结果是:

<div class="td-one">
    <td class="one">content</td>
</div>
<div class="td-two-five">
    <td class="two">content</td>
    <td class="three">content</td>
    <td class="four">content</td>
    <td class="five">content</td>
</div>

我如何使用jQuery做到这一点?

2 个答案:

答案 0 :(得分:7)

约定是使用一个类来标记每个单元格,这个类将充当jQuery选择器的便利。

<td class="td-one one">content</td>
<td class="td-two-five two">content</td>
<td class="td-two-five three">content</td>
<td class="td-two-five four">content</td>
<td class="td-two-five five">content</td>

然后根据需要,您可以使用单元格组。

$(".td-two-five").hide();

答案 1 :(得分:4)

假设为了有效的HTML,您使用的是div元素而不是td元素,我建议:

<div class="one">content</div>
<div class="two">content</div>
<div class="three">content</div>
<div class="four">content</div>
<div class="five">content</div>

$('div.one').wrap('<div class="cell-one" />').parent('div').siblings().wrapAll('<div class="cell-two-five" />')​​​​​​​​​​​​​​​​​​

JS Fiddle demo