JS - 单击菜单中的<li>

时间:2017-01-19 21:54:00

标签: javascript jquery html

我有这个代码,我想在菜单中单击其名称后更改包含一些文本的div类,因为我是初学者,我试过这个,即使我知道有更好的解决方案(你可以告诉我那些)我这样做了。也许它可以用锚点以某种方式完成,我不知道。

$(function () {
    $("article span div").on("click", function () {
        $(".visible").removeClass("visible");
        var li_index = $(this).index();
        $("ul li:nth-child(li_index)").addClass("visible");
    });
});

感谢您的帮助

1 个答案:

答案 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");