jquery add wrapper divs大约2个div,其中content可以是varient长度

时间:2012-09-09 23:55:29

标签: javascript jquery

我有这段代码

<div class="pagenavcounter">Page 2 of 4</div><p>
<strong>test test</strong></p>
</div>
<ul class="ticklist">
<li>Test Content</li>
<li>
     Test Content</li>
<li>
    Test Content </li>
<li>
     Test Content*</li>
</ul>
<p>
<strong>Package Extras</strong></p>
<ul>
<li>
    Test Contentt<sup>#</sup></li>
<li>
    Test Content</li>
<li>
    Test Content</li>
</ul>
<table class="stripeTable" style="width:95%;" border="0" cellpadding="0" cellspacing="0" width="518">
<tbody>
    <tr class="">
        <td class="customerDetailsThead header" colspan="2">
            <p>
                <strong>Key features</strong></p>
        </td>
    </tr>
    <tr class="odd">
        <td class="customerDetails" style="width:35.0%;">
            <p>
                test</p>
        </td>
        <td class="customerDetails">
            <p>
                test</p>
        </td>
    </tr>

</tbody>
</table>

<p>
<sup>contwent contese</sup>
</p>
<div class="pagenavbar"><div>

我需要在jQuery中插入一个包装div,它在pagenavcounter之后启动并在pagenavbar之前结束?

两者之间的内容可以是不同的数量。

关于如何做到这一点的任何想法?

由于

1 个答案:

答案 0 :(得分:3)

以下将完成这项工作,假设您提到的两个div是兄弟姐妹。 (如果他们不是兄弟姐妹,那么将它们之间的所有内容包装在一个元素中就没有意义。)

$("div.pagenavcounter").nextUntil("div.pagenavbar")
                       .wrapAll( $("<div></div>").addClass("wrapper") );

您传递给.wrapAll()方法的元素将成为新的包装器 - 出于演示目的,我只是创建一个新的空div并为其提供类"wrapper"

演示:http://jsfiddle.net/nnnnnn/SpPzh/

如果.nextUntil().wrapAll()不明白,您就知道where to look ...