我有这样的评论结构:
<div class="comment"></div>
<div class="reply"></div>
<div class="reply"></div>
<div class="comment"></div>
<div class="comment"></div>
<div class="reply"></div>
<div class="comment"></div>
<div class="reply"></div>
<div class="reply"></div>
我想将班级last
添加到最后一个回复(评论后),所以我做了类似的事情:
$('.reply:last').addClass('last');
但是,它仅将last
类应用于last
回复div。有没有办法在评论后将last
类添加到最后一个回复中,所以它变为:
<div class="comment"></div>
<div class="reply"></div>
<div class="reply last"></div>
<div class="comment"></div>
<div class="comment"></div>
<div class="reply last"></div>
<div class="comment"></div>
<div class="reply"></div>
<div class="reply last"></div>
谢谢!
此外,是否可以让它像这样工作,我们在页面顶部有回复?如果我正在寻呼并且首先显示回复,则可能发生这种情况。
<div class="comments">
<div class="reply last"></div>
<div class="comment"></div>
<div class="reply"></div>
<div class="reply last"></div>
<div class="comment"></div>
<div class="comment"></div>
<div class="reply last"></div>
<div class="comment"></div>
<div class="reply"></div>
<div class="reply last"></div>
</div>
答案 0 :(得分:1)
看一下jQuery的.nextUntil()。有了它可以做到以下几点:
$('.comment').each(function(){
$(this).nextUntil('.comment').filter(':last').addClass('last');
});
我希望这有帮助!
答案 1 :(得分:0)
首例使用
$("body .comment:last-child .reply:last-child").addClass("last");
第二种情况使用
$("body").find(".comment").each(function(){
$(this).find(".reply").last().addClass("last");
)};
检查此fiddle。我已经将各个注释div中的所有回复div移动到使用继承属性。
答案 2 :(得分:0)
您只需使用not()
功能即可。我试过这个,看看
$('.reply:last').addClass('last');
$('.reply').not($('.reply:last')).removeClass('last');
和小提琴样本here。