使用jquery,我目前在点击事件上将html附加到div。以下代码允许我仅淡入div的附加部分:
var html = "..";
$('<div></div>').appendTo("#id").hide().append(html).fadeIn('slow');
这部分完美无缺。但是我怎么能在以后删除(淡出)附加部分呢?我试图通过将html previous 存储到追加中来隐藏它,然后简单地隐藏所有内容并显示存储的html。但是,当在同一页面上为几个div重用相同的过程时,这不能很好地工作(这看起来很糟糕)。有没有办法做到这一点?
只是想知道为什么我需要这个:想想一个博客类型的页面,页面上的每篇文章都有几条评论,默认只显示x金额:点击事件获取剩余的评论并显示它们,然后再次切换按钮会删除附加的注释并将其发送回原始状态。
答案 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();