首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不存在元素,如何删除带有JS的类?

如果不存在元素,如何删除带有JS的类?
EN

Stack Overflow用户
提问于 2018-05-03 13:55:58
回答 1查看 73关注 0票数 0

在我的网站上,我有一个菜单在导航栏的右边。当搜索在当前页面上可用时,它将显示搜索。

当搜索可用时,我想显示一个图标。

所有搜索块都有类.views-exposed-form,并显示在#navbar-collapse-second中。

我将用于隐藏图标的类.icon-navbar-alert-disable添加到图标中。

.icon-navbar-alert-disable类存在于#navbar-collapse-second中时,如何删除#navbar-collapse-second类?

下面是隐藏图标的css代码:

代码语言:javascript
复制
.region-navigation-menu-second .navbar-toggle-second .icon-navbar-alert-disable {
    display: none;
}

下面是带有图标的my manu按钮的代码:

代码语言:javascript
复制
<div{{ attributes }}>

<a class="navbar-toggle-second collapsed" data-toggle="collapse" data-target="#navbar-collapse-second" aria-expanded="false">

  <div class="icon-navbar">
    <span class="fa-layers fa-3x">
      <i class="far fa-circle"></i>
      <span class="navbar-icon-open">
        <i class="fas fa-filter" data-fa-transform="shrink-9"></i>
      </span>
      <span class="navbar-icon-close">
        <i class="fas fa-times" data-fa-transform="shrink-8"></i>
      </span>
    </span>
  </div>

  <div class="icon-navbar-alert icon-navbar-alert-disable">
    <span class="fa-stack fa-lg">
      <i class="fas fa-circle fa-stack-2x"></i>
      <i class="fas fa-filter fa-stack-1x fa-inverse"></i>
    </span>
  </div>

</a>

</div>

这是有关的页面,这是右边的菜单:

https://www.s1biose.com/boutique/ma-boutique-pro

我启动了一个JS代码,但它还没有完成:

代码语言:javascript
复制
  $('#navbar-collapse-second') ???.views-exposed-form??? {
       $('#block-togglenavigationsecond').removeClass('icon-navbar-alert-disable');
  });

更新

代码语言:javascript
复制
(function ($) {

  if ($('#navbar-collapse-second').hasClass('views-exposed-form')) {
       $('#block-togglenavigationsecond').removeClass('icon-navbar-alert-disable');
  } else { 
       $('#block-togglenavigationsecond').addClass('icon-navbar-alert-disable');
  };

})(window.jQuery);

在这里输入图像描述

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-03 14:11:43

你在找jQuery中的jQuery选择器吗?

如果是这样的话,将其包装在If语句中,然后在内部显示您希望从中得到的结果;

代码语言:javascript
复制
if ($('#navbar-collapse-second').hasClass('views-exposed-form') === false) {
    $('#block-togglenavigationsecond').removeClass('icon-navbar-alert-disable');
} else { 
    $('#block-togglenavigationsecond').addClass('icon-navbar-alert-disable');
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50156823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档