javascript - 如何在 CSS 或 jQuery 中持续更改按钮的颜色

标签 javascript jquery html css web

我有一些按钮,按下后我想变成蓝色

$(document).ready(function() {
  $("button.btn.btn-default").on('click', function() {
    $(this).toggleClass('active');
  });
});
.active {
  background-color: #0F89BE;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-default" role="button" value="50">
            $50                              
</button>
<button class="btn btn-default" role="button" value="50">
            $100                              
</button>

我有多个按钮,我希望选定的按钮变为蓝色(激活)。类似于单选按钮。有没有更简单的方法来完成这个? jQuery 对我不起作用,我不确定自己做错了什么。

最佳答案

.css 接受一个 CSS 属性名称 和一个值,例如

$(this).css('background-color', '#0F89BE')

它不接受您要添加的新类(class)。如果要向元素添加类,请使用 addClass:

$(document).ready(function() {
  $("button.btn.btn-default").on('click', function() {
    $(this).addClass('active');
  });
});
.active {
  background-color: #0F89BE;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-default" role="button" value="50">
            $50                              
</button>

如果您希望能够再次单击按钮以删除类,请改用 toggleClass:

$(document).ready(function() {
  $("button.btn.btn-default").on('click', function() {
    $(this).toggleClass('active');
  });
});
.active {
  background-color: #0F89BE;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-default" role="button" value="50">
            $50                              
</button>

如果您一次只希望一个按钮具有.active,请在使用addClass 之前对所有按钮调用removeClass:

$(document).ready(function() {
  const btns = $("button.btn.btn-default");
  btns.on('click', function() {
    btns.removeClass('active');
    $(this).addClass('active');
  });
});
.active {
  background-color: #0F89BE;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-default" role="button" value="50">
            $50                              
</button>
<button class="btn btn-default" role="button" value="50">
            $60                              
</button>

关于javascript - 如何在 CSS 或 jQuery 中持续更改按钮的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52675195/

相关文章:

html - Gmail 签名 - 文字修饰 :none

javascript - 如何使用 bootstrap header 检查内容覆盖

javascript - 在媒体查询上重新计算 div 有什么问题

javascript - 使用纯 JavaScript 上传二进制文件

javascript - 单击单选按钮填充文本框

javascript - 选中所有复选框并添加类

javascript - 获取父表单 jQuery 的输入

javascript - chop 阅读更多/更少按钮的内联 HTML

javascript - 如何按位置号从字符串中删除字符?

javascript - Gatsby.js - 版式主题