jquery:将classname添加到object

时间:2016-04-18 13:06:07

标签: jquery

我有一个触发画布边栏的按钮。当非画布边栏处于活动状态时,菜单按钮不可单击。 因此,我试图查找类名" js-off-canvas-exit"并且"是可见的"那么菜单按钮应该得到类名" is-active"否则应从菜单按钮中删除此类名称。

我的尝试看起来像这样:

  var menuButton = document.getElementById('menuButton');
  menuButton.addEventListener('click', function(e) {
    menuButton.classList.toggle('is-active');
    e.preventDefault();
  });


  $('.js-off-canvas-exit .is-visible').click(function() {
    menuButton.removeClass('is-active');// add classname is-active to menuButton
  }


  $('.js-off-canvas-exit:not(.is-visible)').click(function() {
    menuButton.addClass('is-active');// remove classname is-active from menuButton
  }

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

由于menuButton是本机DOM元素,因此需要创建jQuery对象。因为removeClass()addClass()方法可用于jQuery对象而不是DOM元素。

$(menuButton).removeClass('is-active');

而不是

menuButton.removeClass('is-active');

您可以使用Element.classList对象的add()remove()