当我点击“显示评论”链接时,我想打开一个Div并追加Facebook评论框。但是我想追加一次FB-Comments,然后使用链接切换该Div。什么是最好的方式来追加HTML只是一次?
我是想这样的事情,但我点击链接,当然,每一次它只是追加它...
谢谢!
UPDATE:
现在,它的伟大的工作,但如果有人知道最有效的方式做到这一点,欢迎您!
当我点击“显示评论”链接时,我想打开一个Div并追加Facebook评论框。但是我想追加一次FB-Comments,然后使用链接切换该Div。什么是最好的方式来追加HTML只是一次?
我是想这样的事情,但我点击链接,当然,每一次它只是追加它...
谢谢!
UPDATE:
现在,它的伟大的工作,但如果有人知道最有效的方式做到这一点,欢迎您!
添加内容后,向目标元素添加类名称。在第二次添加之前检查类名的存在。
1)添加类
$('#target').addClass("done")
2)检查类
if($('#target').hasClass("done")) {
...
}
我试过使用“.hasClass”,但我做不到。不幸的是,我不是一个与jQuery亲:( – Santiago
我已经添加了一个代码示例。 –
我这样做,但我认为我做错了... $( '#fb_comentarios_' + UID).addClass( “完成”) \t如果($( '#fb_comentarios _')。hasClass(“完成“)){ \t \t $( '#fb_comentarios_' + UID).toggle(); \t}其他{ \t $( '#fb_comentarios_' + UID).append(commentBox); \t} – Santiago
用途:
$(document).load(function() {
//Load comments section here
$('.fb_comments').hide();
})
这将创建的意见,但随后隐藏起来。然后创建按钮,onClick
(或绑定.click()
)调用此:看
$('.fb_comments').toggle();
检查的意见格已经在DOM存在,如果它不然后附加:
if(! $('#fb_comments_' + uid).children(".fb-comments").length){
$('#fb_comments_' + uid).append(commentBox);
}
$('#fb_comments_' + uid).toggle();
.length将返回与DOM中的选择器匹配的元素的实例数。由于0在JavaScript中等于false,因此我们可以将它视为条件中的布尔值。
这工作,但如果我点击链接上的所有页面加载之前,它不什么都不做。那很奇怪... – Santiago
为什么使用附加而不是切换可视性? – deltree
@deltree我认为最好不要加载所有的(我有很多与个人评论条目)Facebook的评论框。我只是想加载点击... – Santiago
然后通过AJAX加载它们,并且div应该仍然是可见或不可见的基于切换,而不是由AJAX调用 – deltree