使用toggleClass后jQuery hasClass

时间:2016-01-25 15:25:53

标签: jquery

如果刚刚通过使用toggleClass添加了该类,是否可以检查某个项是否有类。以下代码无效。使用它的最佳解决方案是什么。

$('.feature-filter').click(function () {

    $(this).toggleClass('feature-filter-selected');
    var category_list = [];
    $('.feature-filter').hasClass('feature-filter-selected').each(function () {
        var category = $(this).attr('id');
        category_list.push(category);
    });
});

1 个答案:

答案 0 :(得分:1)

hasClass返回布尔值(true / false)结果,具体取决于元素上的类名。你不能在它上链/使用jQuery方法。

要选择具有两个类的元素,请使用

$('.feature-filter.feature-filter-selected')

您可以使用$.map$.get

$('.feature-filter').click(function () {
    $(this).toggleClass('feature-filter-selected');

    var category_list = $('.feature-filter.feature-filter-selected').map(function () {
        return $(this).attr('id');
    }).get();
});