我正在尝试将类添加到具有onClick
事件的按钮。 onClick
事件会触发弹出窗口alert
,告知用户选中一个复选框。选中复选框后,它会停用onClick
:$("#continue").prop('onclick',null).off('click');
禁用onClick
后,我想在点击按钮时向该按钮添加class
:
//Updated JS
jQuery(function($) {
if ($("#continue").hasClass("selected")) {
$(this).addClass('active');
}
$('#button').click(function(){
$("#continue").addClass('selected');
$("#continue").prop('onclick',null).off('click');
});
});
//Button HTML
<a id="button" href="javascript:void(0)">Pick me</a>
<a id="continue" href="javascript:void(0)" onclick="showError()">Continue</a>
但是没有添加class
。不知道最近发生了什么。
答案 0 :(得分:2)
也许你可以触发一个函数来验证元素是否具有如下所需的类:
function validate(element) {
if ($(element).hasClass('selected')) {
$(element).addClass('active');
} else {
alert("this is an error");
}
}
$(function() {
$('#button').click(function() {
$("#continue").addClass('selected');
});
});
.selected {
color: red;
}
.active {
color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="button" href="javascript:;">Pick me</a>
<a id="continue" href="javascript:;" onclick="validate(this)">Continue</a>
答案 1 :(得分:1)
您应该写$(this)
而不是$ this
$('#button').click(function(){
$this.addClass("active");
});