只刷一次html的最佳方法是什么?

时间:2012-05-23 18:33:35

标签: jquery append toggle

当我点击“显示评论”链接时,我想打开一个Div并附加Facebook评论框。但我只想将FB-Comments附加一次,然后只需使用该链接切换Div。

我正在尝试这样的事情,但它只是在我每次点击链接时附加它,当然......

http://jsfiddle.net/4LnzD/

谢谢!

更新:

http://jsfiddle.net/4LnzD/4/

现在它运作良好,但如果有人知道一种最有效的方法,那么欢迎你!

3 个答案:

答案 0 :(得分:3)

添加内容后,为目标元素添加类名。在第二次添加类名之前检查是否存在类名。

1)添加班级

$('#target').addClass("done")

2)检查班级

if($('#target').hasClass("done")) {
 ...
}

答案 1 :(得分:1)

检查DOM中是否已存在注释div,如果没有,则添加:

if( ! $('#fb_comments_' + uid).children(".fb-comments").length ){
  $('#fb_comments_' + uid).append(commentBox);
}

$('#fb_comments_' + uid).toggle();

.length将返回与DOM中的选择器匹配的元素的实例数。因为0在javascript中相当于false,我们可以将它视为条件中的布尔值。

答案 2 :(得分:0)

使用:

$(document).load( function() {
    //Load comments section here
    $('.fb_comments').hide(); 
})

这将创建评论,但随后隐藏它们。然后创建按钮,onClick(或绑定.click())调用:

$('.fb_comments').toggle();