我想知道如何在以下无序列表中返回带有“ currentTab”类的列表元素的位置:
<ul id="coverTabs">
<li class="currentTab"><a href="#">Individual</a></li>
<li><a href="#">Couple</a></li>
<li><a href="#">Family</a></li>
<li><a href="#">Single parent family</a></li>
</ul>
该类在HTML中设置为启动。下面将单击的选项卡设置为“ currentTab”,然后删除上一个类:
$('ul#coverTabs > li').live('click', function() {
// Clickable tabs
// Removes default class applied in HTML and onClick adds 'currentTab' class
$(".currentTab").removeClass("currentTab");
$(this).addClass("currentTab");
});
我以为,如果我在上面添加以下内容,它将返回当前可以使用的选项卡的位置:
// Find the active tab
var tabPosition = $('ul#coverTabs > li.currentTab').index ($('.currentTab'));
var tabPosition = tabPosition + 1
它似乎对我不起作用。
最佳答案
引用当前项目时,请使用this
关键字。
var tabPosition = $('ul#coverTabs > li').index ($(this));
尽管您遇到的问题是您限制了currentTab中的索引,所以您只选择了一个..
var tabPosition = $('ul#coverTabs > li').index ($('.currentTab'));
以上应该也可以工作(注意,我已经从第一个选择器中删除了
.currentTab
)