例如,我有一个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的结构将来可能会发生变化。
发布于 2011-06-08 16:37:21
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);发布于 2011-06-08 16:21:00
我可能会用:
$('.ac_current_a').parent().next().children()演示:jsfiddle.net/dL87J/
发布于 2011-06-08 16:21:55
删除eq()
$('.ac_list_a .ac_current_a').parent().next();
$('.ac_list_a .ac_current_a').parent().prev();https://stackoverflow.com/questions/6281969
复制相似问题