Jquery - 单击按钮时切换类/单击主体和具有相同类的其他按钮时删除类

标签 jquery hyperlink click removeclass toggleclass

我有相同类别的不同按钮。每个按钮都有一个带有 :after 的“+”。我想在单击某个按钮时显示“-”,并在单击另一个按钮、单击窗口的其余部分或再次单击同一按钮时删除“-”。

这是我到目前为止所拥有的:

var removeClass = true; 
$(".button").click(function () {
    /* $(".button").removeClass('bclose'); */
    $(this).toggleClass('bclose');
    removeClass = false;
});

$(".button").click(function() {
    removeClass = false;
});

$("html").click(function () {
    if (removeClass) {
        $(".button").removeClass('bclose');
    }
    removeClass = true;
});

如果您再次单击窗口或按钮,“-”和 bclose 类将会删除,但如果您单击其他按钮之一,“-”不会删除。

如果我添加

$(".button").removeClass('bclose');

它工作正常,但如果您再次单击同一按钮,则不会。

示例:http://jsfiddle.net/tjga5/

最佳答案

你可以这样使用

$(".button").click(function () {
    $(".button").not(this).removeClass('bclose');
    $(this).toggleClass('bclose');

});

Demo

关于Jquery - 单击按钮时切换类/单击主体和具有相同类的其他按钮时删除类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24061161/

相关文章:

jquery - 每个/单击功能不起作用

javascript - 需要帮助将 videopopup.js 脚本中的 close 函数从 jquery 1.7 移植到 2.x

jquery - "Disable"单击时暂时出现链接?

jquery - 将下拉菜单部分从悬停更改为单击

ios - 检测 UIWebView 内的点击 - 而不是链接

javascript - 为什么我无法使用 Jquery 插件中的 FormData 从 tinymce 编辑器获取 textarea 的值?

javascript - 如何通过两种不同的方法提交 jQuery 表单

javascript - 如何在我的页面上的所有超链接上调用函数?

css - 将导航栏中的 li 元素内的超链接居中

jquery - 单击后更改 Jquery 属性