javascript - JQuery新手精炼toggleClass?

标签 javascript jquery toggleclass

我有这个 jQuery 片段(如下),它为每个元素添加一个单独的 CSS 选择器,其类为 '.filter-name' 这有效,我对它的作用感到满意.

jQuery('.filter-name').each(function(i){
                jQuery(this).addClass('title'+(i+1));
            });

我的问题是,每次单击每个元素时,我都必须触发一个 'clicked' 类,这是通过下面的代码完成的,它可以工作,但看起来不太优雅在代码中。有什么办法可以改善这个问题吗?

jQuery('.title1').click(function(){
            jQuery('.title1').toggleClass('clicked');
        });
        jQuery('.title2').click(function(){
            jQuery('.title2').toggleClass('clicked');
        });
        jQuery('.title3').click(function(){
            jQuery('.title3').toggleClass('clicked');
        });
        jQuery('.title4').click(function(){
            jQuery('.title4').toggleClass('clicked');
        });
        jQuery('.title5').click(function(){
            jQuery('.title5').toggleClass('clicked');
        });
        jQuery('.title6').click(function(){
            jQuery('.title6').toggleClass('clicked');
        });

我已经尝试过:

jQuery('.title1, .title2, .title3, .title4, .title5, .title6').click(function(){
                jQuery('.title1, .title2, .title3, .title4, .title5, .title6').toggleClass('clicked');
            });

但这只是同时触发所有这些,这不是我希望 jQuery 做的事情。

p.s 使用 jQuery in noConflict(); 因此是 jQuery 选择器。

最佳答案

如何将点击处理程序添加到.filter-name

jQuery('.filter-name').click(function () {
   //using this ensure that is toggling the correct element
   jQuery(this).toggleClass('clicked'); 
});

关于javascript - JQuery新手精炼toggleClass?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19051598/

相关文章:

Javascript 对象属性继承

javascript - 如何在 angularjs2 中使用日期过滤数据

javascript - NestJS 根据浏览器语言传递静态文件

javascript - 对数组进行分组并获取每个组的最后一个和第一个数组

javascript - 如何在 Jquery 中搜索数组,如 SQL LIKE value% 语句

javascript - 使用循环和 JavaScript 比较日期

javascript - 如何将其余宽度设置为元素?

jquery - Backbone - 悬停时切换类

javascript - 使用 toggleclass 在 3 个类之间切换

javascript - 具有特定类的最接近的 div