2016-04-27 11 views
4

Ich habe die folgenden Zeilen in HTML:Wrap Deferenten HTML-Tags mit einem div mit jQuery

<header class="title"> 
    <h3>Billing Address</h3> 
</header> 

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

Und ich möchte sie zwischen einem neuen div mit jQuery wickeln, weil ich Zugang haben nicht zu das HTML.

Wenn ich .before() und .after(), es funktioniert nicht

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

Ich habe versucht, mit .wrap() und .append(), aber auch nicht funktioniert.

Das Ergebnis shoulbe sein:

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

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

Thank you!

+1

nicht auf die Frage verwenden, aber die Adress-Tag sollte nicht verwendet werden für eine zufällige a dresse. Gemäß der Spezifikation sollte es nur für die Kontaktdetails einer bestimmten Seite, eines Abschnitts oder eines Artikels verwendet werden. Angesichts Ihrer Überschrift der Rechnungsadresse ", entspricht dies nicht diesem Kriterium und daher sollte ap verwendet werden. –

+0

Danke Ian Devlin für den Kommentar. Wie gesagt, ich habe keinen Zugriff auf die HTML :(Aber ich werde um Korrektur bitten :) Danke ein Gewinn – andresgl

Antwort

6

Verwenden .wrapAll() statt .wrap():

wrapAll: Wrap eine HTML-Struktur um alle Elemente in dem Satz von abgestimmten Elementen.

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

Working Demo

+0

Milind Anantwar Danke Es funktioniert :) – andresgl

1

Sie auch prepend() zusammen mit append()

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

prüfen this Geige

+0

Herzlichen Dank Ich denke, wrapAll ist besser.Auch danke :) – andresgl

+0

Ja, es scheint! Gern geschehen! :) – Hearty

Verwandte Themen