我想要当前'a'的下一个'a'元素。当current为2,3,4时,我用$('a. current').nextAll('a')捕获3,4,5,但当current为5时,我无法捕获下一个'a'。如果有人有办法…
<div id="slides">
<ul>
<li>
<a href="" class='current'>2</a>
<a href="" >3</a>
<a href="" >4</a>
<a href="" >5</a>
</li>
<li>
<a href="" >6</a>
<a href="" >7</a>
<a href="" >8</a>
<a href="" >9</a>
</li>
</ul>
</div>
5条答案
按热度按时间tkqqtvp11#
***现场演示:***http://jsfiddle.net/eaXdc/
如果你只想要下一个,请更改以下内容:
对此:
mrphzbgm2#
试试这个:
此外,您当前使用的是
nextAll
,它将返回所有以下a
元素,而听起来您只需要后面的第一个a
。efzxgjgh3#
FIDDLE
qij5mzcb4#
因为
.nextAll()
只返回匹配元素的兄弟元素6,7,8,9不是5的兄弟,因为它们在不同的
parent(li)
下你需要使用jQuery遍历DOM来获取那些
a
元素。yvgpqqbh5#
如果你知道你已经到了最后(没有结果),那么你应该能够跳到下一个
li
并抓住所有后续的锚元素。Here's how I approached it。我给第五个锚元素一个id,表示它是我的
current
。如果current
目标没有.nextAll()
子元素(.size()
的值为0),则可以执行以下操作来查找后续的锚元素。颜色变化是为了帮助指示发现了哪些元素。看起来你有很多选择之间的选择!
更新:如果你只需要第一个,你可以用
:first
来捕获它,就像这样update。