从整个页面上的特定元素中查找nextAll

时间:2015-07-01 10:34:04

标签: jquery find reload

如果有人可以帮我解决这个问题,那会很棒。

我有一个元素列表,它们分隔在不同的容器中,例如:

<div id="posts">
  <div class="container1">
    <div class="post"></div>
    <div class="post"></div>
  </div>
  <div class="container2">
    <div class="post"></div>
    <div class="post"></div>
  </div>
</div>

现在我将最后一个元素的位置保存在变量

var lastPost = $("#posts").find(".post").last();

现在我将更多帖子加载到dom中。

...
<div class="container3">
  <div class="post"></div>
  <div class="post"></div>
</div>
...

从原来的最后一个位置(lastPost)我想要检索nextAll()个帖子。因为div不是彼此的兄弟,所以我无法使用nextAll()访问它们。

如果我在添加帖子之后能够在$("#posts").find(".post")内获得lastPost的位置,那将是非常棒的

3 个答案:

答案 0 :(得分:1)

您可以获取所有帖子,lastPost引用的项目索引之后的获取项目

var $all = $('#posts .post');
var $nextAll = $all.slice($all.index(lastPost) + 1);

答案 1 :(得分:0)

您将需要遍历父元素,然后使用nextAll来定位兄弟父容器。

var nextall= lastPost.parent().nextAll().find('.post')

答案 2 :(得分:0)

您可以找到最近的容器,然后选择下一个容器并在其中找到.post

var all = lastPost.closest('[id^="container"]').nextAll().find('.post');