$(function () {
//点击上面的li当前li添加current类,其他li删除current类
$(".tab_list li").click(function () {
$(this).addClass("current").siblings().removeClass("current");
})
//点击同时获取li的索引号
var index = $(this).index();
// console.log(index);
$(".tab_con .item").eq(index).show().siblings().hide();
})
-1应该是找不到
$(function () {
//点击上面的li当前li添加current类,其他li删除current类
$(".tab_list li").click(function () {
$(this).addClass("current").siblings().removeClass("current");
//点击同时获取li的索引号
var index = $(this).index();
// console.log(index);
$(".tab_con .item").eq(index).show().siblings().hide();
}) ///////////////////////////////
})
【以下回答由 GPT 生成】
问题在于var index = $(this).index();
这一行代码放在了错误的位置。$(this).index()
是用来获取点击的li在其兄弟元素中的索引号,但是它是在点击之外的地方进行调用的,所以index
的值为-1,表示没有找到匹配的元素。
为了修复这个问题,可以将获取index
的代码放在点击事件的回调函数中。修改后的代码如下:
$(function () {
//点击上面的li当前li添加current类,其他li删除current类
$(".tab_list li").click(function () {
$(this).addClass("current").siblings().removeClass("current");
var index = $(this).index();
$(".tab_con .item").eq(index).show().siblings().hide();
})
})
这样,在点击li时,先添加/删除类名,然后再获取index
,并根据index
显示相应的内容。
【相关推荐】