点击计数元素

时间:2012-11-19 21:38:01

标签: jquery class click

这是我的jquery代码:

$(document).on('click', '.filter_author_wrapper', function(event) {

            var filter_author_wrapper_selected = $('.f_a_w_selected');
            var selected_authors_num = filter_author_wrapper_selected.length;

            if ($(this).hasClass('f_a_w_selected')) {
                $(this).removeClass('f_a_w_selected')
                    .queue(function() {
                        var filter_authors_selected = $('#filter_authors_selected');
                        filter_authors_selected.html(selected_authors_num + ' /');
                        $(this).dequeue();                      
                    });
            } else {
                $(this).addClass('f_a_w_selected')
                    .queue(function() {
                        var filter_authors_selected = $('#filter_authors_selected');
                        filter_authors_selected.html(selected_authors_num + ' /');
                        $(this).dequeue();                      
                    });
            }

        }); 

每次点击一个元素.f_a_w_selected时,如果已经应用了类{{1}},则删除该类,并计算该类有多少元素。

上面的代码计算在单击之前具有特定类的元素。如何应用此类并通过单击计算此类的元素?

我希望这是可以理解的!

1 个答案:

答案 0 :(得分:2)

好的...抱歉,但你的代码有点冗长,所以让我重写一下......

$(document).on('click', '.filter_author_wrapper', function(event) {
  $(this).toggleClass('f_a_w_selected');
  var num = $('.f_a_w_selected').length;
  $('#filter_authors_selected').html(num + ' /');
});

此外,document可能不是您.filter_author_wrapper的最近祖先,因此为了在委派活动中获得更好的效果,请将您的处理程序附加到最近的 初始化时DOM中存在的父元素