我想知道如何返回以下无序列表中具有“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
)
关于jQuery 返回列表元素与表列上的类单击的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134808/