2009-08-13 54 views
5

使用jquery,我目前将html附加到单击事件的div上。下面的代码允许我淡入只有div的附加部分:使用jQuery去除附加的html?

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

这部分工作完美。但是,我以后如何才能删除(淡出)仅附加部分?我试图通过将之前的存储到附加文件中,然后简单地隐藏所有内容并显示存储的html来尝试黑客入侵。但是,如果在同一页面上多个div重复使用同一个过程(这看起来像是糟糕的实现),那么这样做效果不佳。有没有一个好的方法来做到这一点?

只是想知道为什么我需要这个:想想一个博客类型页面,其中对于网页上的每篇文章都有几条评论,默认情况下只显示x个数量:点击事件获取剩余评论并显示它们,然后再次切换按钮将删除附加的注释并将其发送回原始状态。

回答

3

我刚刚设置和以“.html()”清除HTML ...

- 编辑

更清晰,有一个区域,奠定了专门为添加这些评论:

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

+0

我不遵循...我需要追加html到一个已经存在的html块。然后以后只删除附加的部分 – oym 2009-08-13 00:09:56

+0

创建一个没有任何内容的div;在那里写你的内容,然后清除它(或真的隐藏它)。 – 2009-08-13 00:13:49

+0

这么简单......不知道为什么我没有想到这么做......谢谢! – oym 2009-08-13 00:19:56

2

尝试:

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

后来

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

它是不是从疑问清楚,但说你表现出5条评论默认,然后显示X更多评论。要回到原始的5条评论默认状态,您可以删除索引大于4(基于零)的所有评论。

以下假设每个注释都在它自己的具有类注释的div内部。

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

空()始终是一个选项

jQuery的( '#主')空();