2009-08-13 16 views
5

usando jQuery, que actualmente anexar html en un div en un evento de clic. El siguiente código me permite sólo aumento gradual de la parte anexa de la div:¿Eliminar el html adjunto usando jQuery?

var html = ".."; 
$('<div></div>').appendTo("#id").hide().append(html).fadeIn('slow'); 

Esta parte funciona perfectamente. ¿Pero cómo puedo eliminar más adelante (desvanecerme) solo la parte añadida? He intentado hackear esto almacenando el html previo a la Anexión, y luego simplemente ocultar todo y que muestra el HTML almacenado. Pero esto no funciona bien cuando el mismo procedimiento se reutiliza para varios divs en la misma página (y esto parece una implementación deficiente). ¿Existe una forma correcta de hacer esto? Para dar una idea de por qué necesito esto: piense en una página tipo blog donde para cada artículo en la página hay varios comentarios con solo x cantidad que muestra de forma predeterminada: el evento click obtiene los comentarios restantes y los muestra y al volver a alternar el botón, se eliminan los comentarios añadidos y se lo devuelve al estado original.

Respuesta

3

que acababa de establecer y restablecer el html con '.html()' ...

- editar

a ser más clara, con un área layed a cabo específicamente para la adición de estos comentarios:

<div id='commentarea1'></div> 

etc.

+0

No sigo ... Necesito anexar html a un bloque de html ya existente ... y luego eliminar solo la porción que se adjuntó – oym

+0

Crear un div que no tenga nada; escriba su contenido allí, luego simplemente aclárelo (u ocúltelo realmente). –

+0

tan simple ... No sé por qué no pensé en hacer esto ... gracias! – oym

2

Probar:

var html = ".."; 
$('<div></div>').appendTo("#id").hide().append(html).fadeIn('slow').addClass('appended'); 

luego

$('#id .appended').fadeOut('slow'); // or whatever you want to do. 
0

No es que claro a partir de la pregunta, pero dicen que muestran 5 comentarios por defecto y luego mostrar x más comentarios. Para volver al estado predeterminado de 5 comentarios originales, puede eliminar todos los comentarios con un índice mayor que 4 (basado en cero).

Lo siguiente asume cada comentario va dentro de su propio div que tiene un comentario clase.

$('#id>div.comment:gt(4)').remove(); 
8

vacía() es siempre una opción

jQuery ('# principal') vacía (.);

Cuestiones relacionadas