1

但是,如果我尝试添加除 Selected 以外的任何内容,它就可以工作。**

我将代码更新为

但还是一样。

4

3 回答 3

2
$(this, ".CatList li")
$(this, ".CatList .Selected .SubCatList li")

那些应该转过来:

$(".CatList li", this)
$(".CatList .Selected .SubCatList li", this)

当提供两个参数时,您是在说:“在这个(第二个参数)内部搜索这个(第一个参数)”。

=========更新

我上面的代码解释了当你想在你的选择“内”搜索时。但是,当您更好地查看您的代码时,我假设您想将该类添加到您单击的元素中。

如果是这种情况,您不需要子选择,而只需提供$(this)as 选择器。

$(".CatList li").click(function () {
    $(".CatList li").removeClass("Selected");
    $(this).addClass("Selected");
});
于 2013-01-21T16:05:02.207 回答
0

尝试更改$(".CatList .Selected .SubCatList li").click(function () {$(".CatList ul.SubCatList li").click(function () {

于 2013-01-21T16:16:23.083 回答
0

最后我才能够理解故障。当点击 subcatlist li 元素(位于 catlist 上)时,会触发 catlist li 被点击。因此,首先它会删除 catlist(包括 subcatlist li)中每个 li 元素的所有选定类。

现在,在第一个函数上,将所选类添加到 catlist li。所以 catlist li 项目仍然可以。但是 subcatlist 中的 li 项目没有选定的类。我认为解决这个问题的最好方法是使用不同的课程。

于 2013-01-22T05:36:43.170 回答