jQuery - 删除以前添加的类实例

时间:2010-09-24 06:11:52

标签: jquery

我在“点击”上为<a>标记添加了一个类。现在我需要在单击另一个<a>时删除此类。我怎么能这样做?

感谢

编辑:html是无序列表

<ul>
 <li><a href="">link1</a></li>
 <li><a href="">link2</a></li>
 <li><a href="">link3</a></li>
 <li><a href="">link4</a></li>
</ul>

2 个答案:

答案 0 :(得分:3)

这是一个

var lastSelected;

$('ul').delegate('a', 'click', function (e) {

    if(lastSelected) {
        lastSelected.removeClass('selected');
    }

    lastSelected = $(this).addClass('selected');

});

答案 1 :(得分:1)

不知道html,这很粗糙。

$('a').click(function(){
   $('a').removeClass('red')
   $(this).addClass('red');
   return false;
})

crazy demo

基于您的编辑,我建议的最佳方法是

$('li a').click(function() {

    $(this).addClass('red')
        .parent()
        .siblings()
        .children('a')
        .removeClass('red');

    return false;
})​;

humble demo

如果您的课程仅用于CSS目的,我建议在li上添加/删除课程,以最大限度地减少javascript部分的代码。

$('li a').click(function() {

    $(this).parent()
        .addClass('red')
        .siblings()
        .removeClass('red');

    return false;
})​;

然后有你的CSS

<强>之前

a.red {
   color: red;
}

<强>后

li.red a {
    color: red;
}

cool demo