2013-06-05 13 views
9

Ich habe ein 3rd-Party-Skript, in dem ich keine Kontrolle über die HTML und kann nur grundlegende CSS ändern. Ich wollte nur wissen, ob es möglich ist, ein div und den ganzen html darin zu schneiden und es in ein anderes div einzufügen, sobald die Seite geladen wird?schneiden Sie ein div und html darin und fügen Sie es in ein anderes div mit jquery

nehmen wir

<div id="example-one"> 
     <ul class="nav"> 
     <li class="nav-one"><a href="#featured" class="current">Billing Address</a></li> 
     </ul> 
     <div class="list-wrap"> 
      hello 
     </div> 
    </div> 

und wenn die Seite geladen jquery schneidet die ganze HTML Angabe der div id "example-one" und fügen Sie ihn in ein neues div Namen sei es "new-div" haben. Ist das möglich ?

Antwort

8

Hallo konnte ich die Antwort auf meine Frage finden, ich eine jQuery-Funktion versucht, und es wie ein Zauber funktionierte wie ich, dass ich den Code bin einfügen wollte, so dass es nützlich sein für jeden, der genau das Problem hat.

jQuery(document).ready(function(){ 
$('#div1').insertAfter('.div2'); 
}); 

Dies wird die div1 html schneiden und bewegen, um div2

19

Es gibt keine Schnitt & Paste in DOM, können Sie es (bewegen es) zu einem anderen Punkt in DOM anhängen:

$(document).ready(function() { 
    $('#example-one').appendTo('#new-div'); 
}); 

Wenn Sie selbst ein div#new-div Element erstellen möchten, und es doesn ‚t existieren:

$(document).ready(function() { 
    $('<div/>', { id: 'new-div' }).appendTo('#somewhere').append($('#example-one')); 
}); 
+0

danke für die Antwort auf eine meiner Fragen. eigentlich ist es ein 3rd-Party-Skript foxycart. Ich kann nicht beide Divs behalten.Da es Informationen zum Auschecken eines Artikels enthält, würde ein Duplikat von Werten in ausgeblendeten Feldern beim Auschecken zu Fehlern führen. Können wir das nicht ausschneiden und einfügen? – user1001176

1

Mit jQuery, können Sie so etwas wie dieses verwenden können:

$("#example-one").append("<div id="new-div"></div>"); // Add #new-div to the DOM 
$("#new-div").html($("#list-wrap").html()); // Giv #new-div the content of #list-wrap 
$("#list-wrap").remove(); // Destroy #list-wrap 
0

Sie können das Element wählen Sie den Inhalt erhalten dann appendTo zu neuen Container

$("#example-one").children().appendTo("#new-div"); 

Oder wenn Sie das div mit der ID bewegen bedeuten, können Sie

$("#example-one").appendTo("#new-div"); 

Beide Methoden werden verschieben Sie die Elemente

Um ein Skript ausgeführt werden, wenn die Seite geladen wird Sie jQuery ready

verwenden können
0

Könnten Sie so etwas wie:

$("#new-div").html($("#example-one")); 
$("#example-one").hide; 

Dies wird grundsätzlich alle HTML-von # exmaple-one nehmen und es in # new-div und blenden Sie die # Beispiel-one div.

ist hier ein jFiddle dafür: http://jsfiddle.net/sf35D/

-1

Sie unter Code verwenden können:

var text=jQuery('#div2'); 
jQuery('#div2').remove(); 
jQuery('#div1').append(text); 
+0

Dies gibt nicht wirklich etwas im Vergleich zu den anderen Antworten. Zumal die Frage kein 'div1' oder' div2' hat. – meskobalazs

+0

Dies ist keine Löffelfütterungsarbeit und es ist nur ein Beispiel, um Ihnen zu zeigen, wie man entsprechend arbeitet, die weitere Arbeit wird von Ihnen selbst erledigt und dieses Skript ist bereits getestet. –

0
 <div id="example-one"> 
       <ul class="nav"> 
       <li class="nav-one"><a href="#featured" class="current">Billing Address</a></li> 
       </ul> 
       <div class="list-wrap"> 
        hello 
       </div> 
      </div> 


     $(document).ready(function() { 
      $('#example-one').appendTo('.new-div'); 
     }); 

**out put:** 
    <div class='new-div'> 
    <div id="example-one"> 
       <ul class="nav"> 
       <li class="nav-one"><a href="#featured" class="current">Billing Address</a></li> 
       </ul> 
       <div class="new-div"> 
        hello 
       </div> 
      </div> 
    </div> 

OR können Sie mit unten-Code ('# Beispiel $ -one '). clone(). appendTo ('. new-div ');

Verwandte Themen