jQuery - 无法使用onClick事件向按钮添加类

时间:2016-05-21 00:57:01

标签: javascript jquery html onclick

我正在尝试将类添加到具有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。不知道最近发生了什么。

2 个答案:

答案 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");
});