例如,我有这个HTML结构:
<ul>
<li><a class="ac_list_a">some text</a></li>
<li><a class="ac_list_a">some text</a></li>
<li><a class="ac_list_a">some text</a></li>
<li><a class="ac_list_a ac_current_a">some text</a></li>
<li><a class="ac_list_a">some text</a></li>
<li><a class="ac_list_a">some text</a></li>
</ul>
我需要从ac_list_a
获取下一个或上一个ac_current_a
。
我试过这样做:
var all_a = $('.ac_list_a,.ac_current_a').eq('.ac_current_a').next();
但它不起作用。
你会如何解决它?
更新
当然,我可以通过为所有li
元素分配类,然后使用
parents(class).next().find(a.class)
但是有可能以更动态的方式做到这一点吗?因为HTML的结构将来可能会改变。
答案 0 :(得分:4)
答案 1 :(得分:0)
删除eq()
:
$('.ac_list_a .ac_current_a').parent().next();
$('.ac_list_a .ac_current_a').parent().prev();
答案 2 :(得分:0)
eq
获取函数的整数索引,而不是选择器。但是,您可以使用index
函数查找该索引,然后使用eq
。
var index = $('.ac_list_a,.ac_current_a').index($('.ac_current_a'));
var all_a = $('.ac_list_a,.ac_current_a').eq(index+1);