2010-01-07 1 views
6

Schnelle jquery Frage:
Ich weiß über appendTo und prependTo aber gibt es vielleicht so etwas wie htmlTo? Ja, ich weiß, es klingt albern, aber anstatt Elemente wie appendto und prepend hinzuzufügen, möchte ich den HTML-Code ersetzen.appendTo/prependTo, aber anstatt hinzuzufügen, möchte ich den Inhalt ersetzen. htmlzu?

Also ich möchte das Div mit World den gesamten Inhalt im Element mit ID Hallo ersetzen.

Bearbeiten: Vielen Dank für die Antworten, aber ich denke, ich war nicht klar. Ich kettet viele Funktionen auf ein Element und am Ende klone ich dieses Element und ich möchte es zu einem anderen Div hinzufügen.

$("#World").hide().clone().htmlTo($("#Hello")); 

Ja, ich könnte es einfach anders herum schreiben, aber ich möchte nur 1 Kette haben.

+0

ich meine Frage aktualisiert vielleicht war ich nicht klar. – Pickels

Antwort

4

um es anders tun können:

$('#Hello').html($('#World').html()); 

Oder ein Plugin erstellen, die die Kette umkehrt:

$.fn.htmlTo = function(elem) { 
    return this.each(function() { 
     $(elem).html($(this).html()); 
    }); 
} 

$('#World').htmlTo('#Hello'); 
-1

$("<div>World</div>").html($("#Hello").html());

+1

Dies scheint rückwärts –

+0

Dies ersetzt nicht den Inhalt von $ ("

World
") mit dem Inhalt von $ ("# Hallo"). Html()? Denn das will ich überhaupt nicht. – Pickels

+0

Sorry, ich habe sie falsch gelesen. Du hast recht. – cfbarbero

3

Basierend auf Ihrem bearbeiten, wenn Sie die tatsächlichen DIV-Container zu bewegen und nur könnten leicht tun Sie seinem Inhalt nicht egal: Sie

$('#Hello').html($('#World').hide().html()); 
+0

Danke, aber ich will es andersherum. Ich habe derzeit das $ ("

World
") ausgewählt und nicht das Element mit der ID Hallo. – Pickels

2

Wie wäre:

$("<div>World</div>").appendTo($("#Hello").html('')); 
4

Dies sollte auch funktionieren:

$("<div>World</div>").appendTo($("#Hello").empty()); 
Verwandte Themen