jquery - 重置按钮状态

标签 jquery css button

在我的网站上,我在表格的标题中有 4 个 css 样式的按钮。单击每个按钮时,它当前会根据以下脚本正确更改 css(以下代码可能不是我实现此结果的最简单/最有效的方法)。

我想要实现的是类似于单选按钮的功能,当单击 4 个按钮中的每一个时,修改后的类将重置到先前单击的按钮上。

JQUERY:

$(document).ready(function(){
    $(".red-btn.pcb").click(function(){

        $(this).removeClass("red-btn");

        $(this).addClass("redsort-btn");

    });
        $(".blue-btn.pcb").click(function(){

        $(this).removeClass("blue-btn");

        $(this).addClass("bluesort-btn");

    });


        $(".green-btn.pcb").click(function(){

        $(this).removeClass("green-btn");

        $(this).addClass("greensort-btn");

    });


         $(".orange-btn.pcb").click(function(){

        $(this).removeClass("orange-btn");

        $(this).addClass("orangesort-btn");

    });

});

HTML:

 <th><a class="red-btn pcb"><span> Red </span> </a><th>
 <th><a class="blue-btn pcb"><span> Blue </span> </a><th>
 <th><a class="green-btn pcb"><span> Green </span> </a><th>
 <th><a class="orange-btn pcb"><span> Orange </span> </a><th>

最佳答案

如果您可以将“排序”变成它自己的类,您可以执行如下操作:

$("a.pcb").click(function(){
  $(this)
    .addClass("sort").closest("th").siblings("th")
    .find("a").removeClass("sort");
});

然后稍微修改你的CSS:

.orangesort-btn  { font-weight:bold }

.orange-btn.sort { font-weight: bold }

关于jquery - 重置按钮状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2051591/

相关文章:

jquery - 如何通过在背景 Canvas 中绘制线条来连接两个 HTML 元素?

javascript style.width 在具有过渡文档类型的 firefox 中不起作用

android - 如何使不规则形状的组件可点击?安卓

python - 需要帮助在 pygame 中创建按钮

javascript - 可以在 DOM 加载之前提交表单吗?

jquery - 与 jquery Slidetoggle 一起使用时,带有 href ="#"的链接将页面滚动到顶部

jQuery GeoComplete - 按纬度和经度初始化位置

php - 使用 HTML 发送电子邮件

javascript - 链接重定向协助

html - 我在文本区域、按钮及其布局方面遇到问题