在jquery上面加载旧注释后,在顶部重新定位固定注释
我有这样的评论安排,默认情况下,固定评论显示在顶部在jquery上面加载旧注释后,在顶部重新定位固定注释,jquery,Jquery,我有这样的评论安排,默认情况下,固定评论显示在顶部 <button>Show All Comments</button> <ul class="comments"> <!--Ajax loaded hidden posts--> <li class="fixed">Fixed Comment</li> <li>Comment</li> <li>Co
<button>Show All Comments</button>
<ul class="comments">
<!--Ajax loaded hidden posts-->
<li class="fixed">Fixed Comment</li>
<li>Comment</li>
<li>Comment</li>
<li>Comment</li>
<li>Comment</li>
<li>Comment</li>
<li>Comment</li>
<li>Comment</li>
<li>Comment</li>
<li>Comment</li>
</ul>
.fixed{边框:1px纯红;}
显示所有评论
- 固定评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
既然(正如您所指出的)可能存在或不存在.fixed
注释,我们不能通过在.fixed
注释之后插入新注释来作弊。相反,您可以在执行操作时预先添加新注释,然后将固定注释预先添加到同一节点上(这将自动将它们从DOM树中的原始位置删除)。这将适用于任意数量的.fixed
元素(包括零)
$(文档)。在(“单击”,“按钮”,函数()上){
//添加新元素:
$(“.comments”).prepend(“旧评论 旧评论 旧评论 旧评论 旧评论 ”)
//将.fixed元素重新排列回顶部:
$(“.fixed”).prependTo($('.comments'))
})
。已修复{
边框:1px纯红;
}
显示所有评论
- 固定评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
而不是使用。如下面所示,在之前使用。在之后使用。我还将$(“.comments”)
更改为$(“.fixed”)
:
$(文档)。在(“单击”,“按钮”,函数()上){
//显示Ajax加载的隐藏帖子代码
$(“.fixed”)。在(“旧评论 旧评论旧评论旧评论旧评论旧评论后)
//请求的代码
/*$(“.comments”)。查找(“.fixed”)。是否附加到新的顶部*/
})
.fixed{边框:1px纯红;}
显示所有评论
- 固定评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
- 评论
好的,听起来很聪明,但在我的真实代码中我使用了这个ajax:$(“.comments”).prepend(data)
,有时没有.fixed
注释,因此我无法使用$(“.fixed”)。在(数据)之后代码>随时可用。我该如何解决这个问题?我认为,在这种情况下,必须使用父级$(“.comments”)。
谢谢我的朋友。非常棒的方法。它就像一个符咒。标记