2010-01-07 10 views
6

Pregunta rápida de jquery:
Sé de apendTo y prependTo, pero ¿hay algo así como htmlTo? Sí, sé que suena tonto, pero en lugar de agregar elementos como appendto y prependTo, quiero reemplazar el html.appendTo/prependTo pero en lugar de agregar quiero reemplazar el contenido. htmlTo?

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

Así que quieren que el div con Mundial para reemplazar todo el contenido en el elemento con id Hola.

Edit: Gracias a todos por las respuestas, pero creo que no estaba claro. Estoy encadenando muchas funciones en un elemento y al final, clono ese elemento y quiero agregarlo a otro div.

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

Sí, podría escribirlo a la inversa, pero me gustaría tener solo 1 cadena.

+0

He actualizado mi pregunta tal vez no estaba claro. – Pickels

Respuesta

4

usted puede hacerlo a la inversa:

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

O crear un plugin que invierte la cadena:

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

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

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

+1

esto parece al revés –

+0

¿Esto no reemplaza el contenido de $ ("

World
") con el contenido de $ ("# Hola"). Html()? Porque eso no es lo que quiero en absoluto. – Pickels

+0

Perdón, leí mal la pregunta. Tienes razón. – cfbarbero

3

Sobre la base de su edición, si no se preocupan por mover el contenedor DIV real y se limita su contenido podría fácilmente hacer:

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

Gracias, pero lo quiero al revés. Actualmente tengo el $ ("

World
") seleccionado y no el elemento con el ID Hola. – Pickels

2

¿Qué tal:

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

Esto debería funcionar así:

$("<div>World</div>").appendTo($("#Hello").empty()); 
Cuestiones relacionadas