Javascript:我可以只查询某个类之后的n个元素吗?

Javascript:我可以只查询某个类之后的n个元素吗?,javascript,jquery,next,Javascript,Jquery,Next,新的JS。是否有一种简单的方法可以只查询某个元素/类之后的下一个n元素数?兄弟元素,而不是子元素。例如,假设我有以下html: <span>Empty</span> <span>Empty</span> <div class="start">Empty Block</div> <span>Content 1</span> <span>Content 2</span

新的JS。是否有一种简单的方法可以只查询某个元素/类之后的下一个
n
元素数?兄弟元素,而不是子元素。例如,假设我有以下html:

<span>Empty</span>
<span>Empty</span>
<div class="start">Empty Block</div>
<span>Content 1</span>
<span>Content 2</span>
<span>Content 3</span>
<span>Content 4</span>
<span>Content 5</span>
最后一行是我希望返回div下的前3个跨距,但在控制台日志中,它只返回括号中的最后一项,因此
[3]
,这相当于HTML中的
内容4

我试着看看是否可以让这两个jQuery选项也起作用:

备选案文1:

$('span:lt(4)');
备选案文2:

$('span').slice(0,4)
但这些将针对页面上的所有跨距。我不知道如何在
之后才开始计算跨距

如何仅选择
之后的前3个跨距

如果这有助于了解我在现实生活中使用它的目的:


我有一个页面,上面有20篇博文,每篇博文都附在
标签中。我想首先显示最近的5篇文章,通过“加载更多”按钮,您可以单击以显示接下来的5篇文章。我想告诉Load More(加载更多)按钮抓取接下来的5个
元素,并将它们从
display:none
更改为
display:block
。现在,我想弄清楚的是,如何在按钮之后定位接下来的5篇文章。每次单击该按钮时,该按钮在页面上的位置都会不断变化。

您完全正确。您可以
slice()
通过
nextAll()返回的集合

或者使用
下一个安装()中的
:lt(3)
选择器

对于“显示更多内容”,您可以使用
:gt()
隐藏大于阈值的内容,然后在要显示它们时使用
切片()或
:lt()
过滤
:hidden

$('.start').nextAll('span').slice(0,3).css('color','red'))
$('.start').nextAll('span:lt(3')).css('background-color','yellow')

空的
空的
空块
内容1
内容2
内容3
内容4

内容5
这就是我要找的!谢谢,我已经用
targetspan=$(“.start”).nextAll(“span:lt(3)”测试了我的代码而且效果很好!感谢您为本次展会提供的
:gt()
建议;我没有想到这一点,但这对我来说应该很有效。我会玩的。是的。。。你在正确的轨道上,肯定会毫不费力地迈出下一步
$('span').slice(0,4)