使用jQuery使用div包装传递html标签

时间:2016-04-27 11:28:43

标签: javascript jquery html

我在 HTML

中有以下几行
<header class="title">
    <h3>Billing Address</h3>
</header>

<address>
 <p>Address</p>
</address>

我想使用jQuery将它们包装在新的div中,因为我无法访问HTML。

如果我使用.before().after(),则无法使用

$('header').before('<div="new-div">');
$('address').after('</div>');

我尝试使用.wrap().append(),但也无法使用。

结果应该是:

<div class="new-div">
    <header class="title">
        <h3>Billing Address</h3>
    </header>

    <address>
     <p> Address </p>
    </address>
</div>

谢谢!

2 个答案:

答案 0 :(得分:6)

使用.wrapAll()代替.wrap()

  

wrapAll:围绕匹配元素集中的所有元素包装HTML结构。

$( "header,address" ).wrapAll( "<div class='new' />");

<强> Working Demo

答案 1 :(得分:1)

您还可以将prepend()append()

一起使用
$('header').prepend('<div="new-div">');
$('address').append('MYDIV</div>');

检查this小提琴