使用jQuery删除附加的html?

时间:2009-08-13 00:04:52

标签: javascript jquery html

使用jquery,我目前在点击事件上将html附加到div。以下代码允许我仅淡入div的附加部分:

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

这部分完美无缺。但是我怎么能在以后删除(淡出)附加部分呢?我试图通过将html previous 存储到追加中来隐藏它,然后简单地隐藏所有内容并显示存储的html。但是,当在同一页面上为几个div重用相同的过程时,这不能很好地工作(这看起来很糟糕)。有没有办法做到这一点?

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

5 个答案:

答案 0 :(得分:8)

empty()始终是一个选项

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

答案 1 :(得分:3)

我只是用'.html()'...

设置和清除html

- 编辑

更清楚的是,有一个专门为增加这些评论而设置的区域:

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

答案 2 :(得分:3)

查看empty()函数。

它可能更好地解决问题。这是链接http://api.jquery.com/empty/

答案 3 :(得分:2)

尝试:

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

然后再

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

答案 4 :(得分:0)

问题不是很清楚,但是说你默认显示5条评论,然后显示x更多评论。要返回到原始的5注释默认状态,您可以删除索引大于4(基于零)的所有注释。

以下假设每个评论都在其自己的具有类注释的div中。

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