我有一个页面,可以设置电子邮件首选项。
在每封电子邮件旁边都有一个“是/否”按钮(意思是这个人订阅了这类电子邮件)。
如果是“是”,则将css类设置为引导success
类。
如果是“否”,则将css类设置为Boostrap的danger
类。
我试图设置它,以便当用户单击它时,它切换类并将按钮的html
属性从“是”更改为“否”或“反面”。
我使用$(this).html("Yes");
,它工作得很好。
但是,当更改类时,我有一个脚本运行为:
$(this).removeClass("success");
$(this).addClass("danger");
问题是,当我使用$(this).removeClass()
和$(this).addClass()
时,它不会改变元素样式。但是,当我查询元素时,它确实删除了类并添加了我想要的类--唯一的问题是样式没有改变。
这种样式确实存在于浏览器中。如果我用class="danger"
加载一个元素,或者用一个class="success"
加载一个元素,那么它将以正确的方式呈现出来。
因此,使用这个removeClass
和addClass
的某些东西不会以某种方式触发要更新的样式。
我做错了什么?
发布于 2016-08-23 01:49:26
下面这些对我来说很好,
然而,如果没有精确的HTML和Javascript,这只是猜测。
告诉我这对你有什么好处。
$(document).ready(function(){
$('.email-button').on('click',function(){
$(this).toggleClass('btn-danger btn-success');
$(this).html($(this).hasClass('btn-success') ? 'Yes' : 'No');
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<button class="btn btn-danger email-button">No</button>
https://stackoverflow.com/questions/39090287
复制相似问题