jQuery有关问题:怎么获得选择器结果集中某个元素的索引
jQuery问题:如何获得选择器结果集中某个元素的索引
请注意,是要获取该元素相对于结果集的索引,而不是该元素相对于其父元素的索引!
例如有一段html如下
当前选中的food是甘蔗
现在另有一个按钮【next】,功能是每点一下,selected就跳到下一个food
每个group中包含的food数量是不一定的,我想用选择器$("#allFoods .food")来得到所有的food集合,用$("#allFoods .food.selected")来得到当前选中的food,然后挨个把selected往下移
也就是说,我不想把选择器写成跟group扯上关系,那样计算太麻烦
可是,有什么办法获得当前选中的food在所有的food集合中的索引呢
例如上边的例子,我希望用一个jQuery表达式获得当前索引4(甘蔗相对于所有食物集合的索引),而不是2(甘蔗相对于所在group的索引)!
请知道的朋友指点下!
------解决方案--------------------
$('.food')获取所有的food后
$(".food.selected")获取选中的food
遍历第一次获取的所有food获取选中的food在所有food中的位置后通过eq获取之后的food试试
------解决方案--------------------
请注意,是要获取该元素相对于结果集的索引,而不是该元素相对于其父元素的索引!
例如有一段html如下
<div id="allFoods">
<div class="group">
<div class="food">包子</div>
<div class="food">油条</div>
</div>
<div class="group">
<div class="food">橘子</div>
<div class="food">香蕉</div>
<div class="food selected">甘蔗</div>
<div class="group">
<div class="group">
<div class="food">鸡腿</div>
<div class="food">蛋糕</div>
<div class="food">饺子</div>
<div class="food">酸奶</div>
</div>
</div>
当前选中的food是甘蔗
现在另有一个按钮【next】,功能是每点一下,selected就跳到下一个food
每个group中包含的food数量是不一定的,我想用选择器$("#allFoods .food")来得到所有的food集合,用$("#allFoods .food.selected")来得到当前选中的food,然后挨个把selected往下移
也就是说,我不想把选择器写成跟group扯上关系,那样计算太麻烦
可是,有什么办法获得当前选中的food在所有的food集合中的索引呢
例如上边的例子,我希望用一个jQuery表达式获得当前索引4(甘蔗相对于所有食物集合的索引),而不是2(甘蔗相对于所在group的索引)!
请知道的朋友指点下!
------解决方案--------------------
$('.food')获取所有的food后
$(".food.selected")获取选中的food
遍历第一次获取的所有food获取选中的food在所有food中的位置后通过eq获取之后的food试试
------解决方案--------------------
var index=$('.food').index($(".food.selected")[0]);