Class 未被删除

Class is not being removed

我正在使用 PrestaShop 1.6。在我的 tpl 文件中,我将隐藏的 class 添加到 span 中,如图所示

<span name="bl" id="bl" class="badge hidden">
  <i class="icon-remove"></i> 
  {l s='Gift wrapping'}
</span>

在footer.tpl中,使用javascript,我制作了这段代码

$(document).ready(function(){
  var ckbox = $('#gift');

  $('input').on('click',function () {
    if (ckbox.is(':checked')) {
      alert('hidden test');
      $('#bl').removeClass('hidden');
    } 
  });
});

检查输入时显示alert,但问题是removeClass()函数没有效果,或者我想在检查时删除隐藏的class。有什么想法吗?

如果您的复选框是输入,您的代码应该可以工作,但请尝试在选择器上更具体(我还添加了 .show().hide(),如果css 设置正确):

$(document).ready(function () {
    $('#gift').on('click', function () {
        if ($(this).is(':checked')) {
            $('#bl').removeClass('hidden').show();
        } else {
            $('#bl').addClass('hidden').hide();
        }
    });
});