0

我在一个网站上有两个列表。每个元素在另一个列表中都有一个对应的类。单击 dl 中的一个元素,ul 元素将添加新的类。我认为这样的事情会做到这一点,但显然不是:

$('dl dt').click(function () {
    var classname = $(this).attr('class');
    $('dl dt[class~=classname]').click(function() {
        $("ul li").removeClass('active');
        $('ul li[class~=classname]').addClass('active');
    });
})

我觉得很愚蠢,因为这似乎非常容易完成,但我不能完全理解。如果我错过了网站其他地方的明显答案,请原谅我;我找了一会儿,找不到任何东西。

4

1 回答 1

0

您需要修改选择器:

$('dl dt[class~="'+classname+'"]').click(function() {
    $("ul li").removeClass('active');
    $('ul li[class~="'+classname+'"]').addClass('active');
});

就像 adeneo 说的,如果你有不止一个类,这将返回所有类!

于 2013-05-08T19:25:40.163 回答