将类添加到当前div虽然其他div在jquery中具有相同的类名

时间:2013-10-19 14:08:11

标签: jquery

我刚开始学习jquery,但我坚持认为相当简单。

我想为div添加一个阴影,我可以做得很好,但它为所有名为menu-shadow的div添加了一个类,我只想在当前的幻灯片上。

为了让你更深入地了解我创造了一个小提琴,你会注意到当你去几个子菜单时,当它应该只添加到幻灯片时,阴影会被添加到右侧。目前正在移动。

这是jquery

// Add shadow to menu once link has been clicked
$('.back').click(function() {
    setTimeout(function(){
        $('.sub-menu').addClass('menu-shadow');
    },10);
});

我认为它应该是这样的

$(this).next('.sub-menu').addClass('menu-shadow');

但它不起作用。

这里是小提琴。 http://jsfiddle.net/R6wHG/22/ 您会注意到,如果你上升到一个级别就可以了,当你上升到2级时会出现问题,因为所有子菜单都有相同的级别

1 个答案:

答案 0 :(得分:2)

它是点击按钮的父级

$('.back').click(function () {
    var $this = $(this);
    setTimeout(function () {
        $this.parent().addClass('menu-shadow');
        //or $this.closest('.sub-menu').addClass('menu-shadow');
    }, 10);
});