我有这个代码,我想在菜单中单击其名称后更改包含一些文本的div类,因为我是初学者,我试过这个,即使我知道有更好的解决方案(你可以告诉我那些)我这样做了。也许它可以用锚点以某种方式完成,我不知道。
$(function () {
$("article span div").on("click", function () {
$(".visible").removeClass("visible");
var li_index = $(this).index();
$("ul li:nth-child(li_index)").addClass("visible");
});
});
感谢您的帮助
答案 0 :(得分:0)
这个问题很可能就在这个
var li_index = $(this).index();
$("ul li:nth-child(li_index)").addClass("visible");
li_index
需要被视为变量,而不是字符串(字符串用引号括起来)。
您可以通过以下两种方式之一完成此操作。这种方式需要向li_index
添加1,因为:nth-child
从1开始而$.index()
从0开始。
$("ul li:nth-child(" + (li_index + 1) + ")").addClass("visible");
或使用$.eq()
代替:nth-child()
$("ul li").eq(li_index).addClass("visible");