jQuery删除btns上的类以添加btn点击

时间:2015-10-05 11:23:18

标签: jquery class

我这里有一个jsfiddle - http://jsfiddle.net/03xck9tr/1/

这是一个简单的链接列表

当点击一个时,我想在该btn中添加一个“选定”类。

我需要从之前点击的btns中删除'selected'类。

这种方法有效但它删除了类添加它然后再次删除它。

    $(function(){
        $('.js-btn').on('click', function(){
            $('.js-btn').removeClass('js-btn-selected');
            $(this).Class('js-btn-selected');
        })
    })

4 个答案:

答案 0 :(得分:5)

您使用了一个不感兴趣的.Class jquery属性。使用.addClass();

$(function(){
    $('.js-btn').on('click', function(){
        $('.js-btn').removeClass('js-btn-selected');
        $(this).addClass('js-btn-selected');

        //adding this here because it's a link
        return false;
    })
})

http://jsfiddle.net/03xck9tr/2/

答案 1 :(得分:3)

$(function(){
    $('.js-btn').on('click', function(){
        $('.js-btn').removeClass('js-btn-selected');
        $(this).addClass('js-btn-selected');
    })
})

您需要addClass才能根据需要选择它。

答案 2 :(得分:2)

你可以在一行中完成

 $('.js-btn').not(this).removeClass('js-btn-selected');

答案 3 :(得分:1)

这是一种更好的方法,因为您只迭代选择了.js-btn的按钮。当然只会是1:)

$(function(){
        $('.js-btn').on('click', function(){
            $('.js-btn-selected').removeClass('js-btn-selected');
            $(this).addClass('js-btn-selected');
        })
    })

http://codepen.io/anon/pen/KdmPww