1

我有这个简单的菜单,其中有一些<ul>s 可以在单击它时加载其内容。我想在加载属于它的内容时更改每个 ul 的样式。这是菜单:http: //jsfiddle.net/EPvGf/11/

4

2 回答 2

3

我建议:

$(this).closest('ul').addClass('newStyle');

虽然在点击处理程序中(假设嵌套ul元素):

$('li').click(function(e){
    $(e.target).closest('ul').addClass('newStyle');
});

JS 小提琴演示

参考:

于 2013-06-12T16:22:20.343 回答
1

我认为您的意思是设置相应的父li级(使用 class 底部的边框current),就像默认情况下对第一个父级所做的那样。你可以试试这个:

$('.current').not(
             $(this)
               .closest('li')
               .addClass('current'))
.removeClass('current');

要不就

$(this)
       .closest('li') //Get to the parent li
       .addClass('current') //add the class current
       .siblings('.current') // select the sibling with the same class  (previous selection)
       .removeClass('current'); //remove the class from there

演示

于 2013-06-12T16:27:20.970 回答